name: Agent Release permissions: contents: write on: push: tags: - "*" workflow_dispatch: inputs: reason: description: "Reason for manual trigger" required: false jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v3 with: go-version: ">=1.18.0" - name: Build Agent (linux/amd64) working-directory: atsf_agent run: | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o ../atsflare-agent-linux-amd64 ./cmd/agent - name: Build Agent (linux/arm64) working-directory: atsf_agent run: | CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w" -o ../atsflare-agent-linux-arm64 ./cmd/agent - name: Build Agent (darwin/arm64) working-directory: atsf_agent run: | CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags "-s -w" -o ../atsflare-agent-darwin-arm64 ./cmd/agent - name: Determine prerelease id: prerelease run: | TAG="${GITHUB_REF#refs/tags/}" if [[ "$TAG" == *alpha* ]] || [[ "$TAG" == *beta* ]] || [[ "$TAG" == *rc* ]]; then echo "is_prerelease=true" >> "$GITHUB_OUTPUT" else echo "is_prerelease=false" >> "$GITHUB_OUTPUT" fi - name: Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: | atsflare-agent-linux-amd64 atsflare-agent-linux-arm64 atsflare-agent-darwin-arm64 draft: false prerelease: ${{ steps.prerelease.outputs.is_prerelease }} generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}