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 ./... 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 ./... 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 ./... 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 ./... uses: actions/upload-artifact@v3 with: name: ${{env.APP_NAME}}-linux-armv6 path: bin/${{env.APP_NAME}}-linux-armv6