name: Build Process Supervisor on: [push] env: APP_NAME: processSupervisor jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v4 with: go-version: 'stable' - name: Build for Windows amd64 run: | GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-windows-amd64.exe - name: Upload Windows amd64 binary uses: actions/upload-artifact@v3 with: name: ${{env.APP_NAME}}-windows-amd64.exe path: bin/${{env.APP_NAME}}-windows-amd64.exe - name: Build for Linux amd64 run: | GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-linux-amd64 - name: Upload Linux amd64 uses: actions/upload-artifact@v3 with: name: ${{env.APP_NAME}}-linux-amd64 path: bin/${{env.APP_NAME}}-linux-amd64 - name: Build for Linux arm64 run: | GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-linux-arm64 - name: Upload Linux arm64 uses: actions/upload-artifact@v3 with: name: ${{env.APP_NAME}}-linux-arm64 path: bin/${{env.APP_NAME}}-linux-arm64 - name: Build for Linux armv6 (Raspberry Pi) run: | GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-linux-armv6 - name: Upload Linux armv6 (Raspberry Pi) uses: actions/upload-artifact@v3 with: name: ${{env.APP_NAME}}-linux-armv6 path: bin/${{env.APP_NAME}}-linux-armv6