# Build the Boulder Debian package on every PR, push to main, and tag push. On # tag pushes, additionally create a GitHub release and with the resulting Debian # package. # Keep in sync with try-release.yml, with the exception that try-release.yml # can have multiple entries in its matrix but this should only have one. name: Build release on: push: tags: - release-* jobs: push-release: strategy: fail-fast: false matrix: GO_VERSION: - "1.21.5" runs-on: ubuntu-20.04 permissions: contents: write steps: - uses: actions/checkout@v4 with: persist-credentials: false # Enable https://github.com/golang/go/wiki/LoopvarExperiment - run: echo "GOEXPERIMENT=loopvar" >> "$GITHUB_ENV" - name: Build .deb id: build env: GO_VERSION: ${{ matrix.GO_VERSION }} run: ./tools/make-assets.sh - name: Create release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://cli.github.com/manual/gh_release_create run: gh release create "${GITHUB_REF_NAME}" continue-on-error: true - name: Upload release files env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # https://cli.github.com/manual/gh_release_upload run: gh release upload "${GITHUB_REF_NAME}" boulder*.deb boulder*.tar.gz