48 lines
1.4 KiB
YAML
48 lines
1.4 KiB
YAML
# 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
|