diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index 9da4b4f5..2752d3da 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -9,67 +9,11 @@ on: permissions: write-all # Necessary for the generate-build-provenance action with containers jobs: - - build: - - - runs-on: ubuntu-latest - - steps: - - name: Set up latest stable Go - uses: actions/setup-go@v5 - with: - go-version: stable - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Docker Login - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-tags: 1 - fetch-depth: 0 - # Set environment variables required by GoReleaser - - name: Set build environment variables - run: | - echo "GIT_STATE=$(if git diff-index --quiet HEAD --; then echo 'clean'; else echo 'dirty'; fi)" >> $GITHUB_ENV - echo "BUILD_HOST=$(hostname)" >> $GITHUB_ENV - echo "GO_VERSION=$(go version | awk '{print $3}')" >> $GITHUB_ENV - echo "BUILD_USER=$(whoami)" >> $GITHUB_ENV - echo "CGO_ENABLED=0" >> $GITHUB_ENV - - - name: Install Swag - run: go install github.com/swaggo/swag/cmd/swag@latest - - - name: Release with goreleaser - uses: goreleaser/goreleaser-action@v6 - env: - GITHUB_TOKEN: ${{ github.token }} - with: - version: latest - args: release --clean - id: goreleaser - - name: Process goreleaser output - id: process_goreleaser_output - run: | - echo "const fs = require('fs');" > process.js - echo 'const artifacts = ${{ steps.goreleaser.outputs.artifacts }}' >> process.js - echo "const firstNonNullDigest = artifacts.find(artifact => artifact.extra && artifact.extra.Digest != null)?.extra.Digest;" >> process.js - echo "console.log(firstNonNullDigest);" >> process.js - echo "fs.writeFileSync('digest.txt', firstNonNullDigest);" >> process.js - node process.js - echo "digest=$(cat digest.txt)" >> $GITHUB_OUTPUT - - name: Attest Binaries - uses: actions/attest-build-provenance@v1 - with: - subject-path: dist/cloud-init* - - name: generate build provenance - uses: actions/attest-build-provenance@v1 - with: - subject-name: ghcr.io/openchami/cloud-init - subject-digest: ${{ steps.process_goreleaser_output.outputs.digest }} - push-to-registry: true + release: + uses: OpenCHAMI/github-actions/.github/workflows/go-build-release.yml@v3.2 + with: + cgo-enabled: "1" + pre-build-commands: | + go install github.com/swaggo/swag/cmd/swag@latest + attestation-binary-path: "dist/cloud-init*" + registry-name: ghcr.io/openchami/cloud-init