Bug Fix: Release CD not explicitly configured to skip release on exis… #38
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: release-publish | |
on: | |
push: | |
branches: | |
- main | |
permissions: | |
contents: write # Required for pushing the Helm charts to the gh-pages branch | |
packages: write # Required for GHCR access | |
id-token: write # Required for signing | |
jobs: | |
release: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
fetch-depth: 0 # important for fetching all history to run comparison against | |
- name: Fetch history | |
run: git fetch --prune | |
- name: Configure Git | |
run: | | |
git config user.name "$GITHUB_ACTOR" | |
git config user.email "[email protected]" | |
- name: Set up Helm | |
uses: azure/setup-helm@29960d0f5f19214b88e1d9ba750a9914ab0f1a2f # v4.0.0 | |
with: | |
version: v3.14.1 | |
- name: Run chart-releaser | |
uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # v1.6.0 | |
env: | |
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
CR_SKIP_EXISTING: true | |
CR_GENERATE_RELEASE_NOTES: true | |
CR_RELEASE_NAME_TEMPLATE: "{{ .Name }}-v{{ .Version }}" | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install sigstore/cosign | |
uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 # v3.4.0 | |
- name: Push charts to GHCR | |
env: | |
COSIGN_EXPERIMENTAL: 1 | |
# when filling gaps with previously released charts, cr would create | |
# nothing in .cr-release-packages/, and the original globbing character | |
# would be preserved, causing a non-zero exit. Set nullglob to fix this | |
run: | | |
shopt -s nullglob | |
for pkg in .cr-release-packages/*; do | |
if [ -z "${pkg:-}" ]; then | |
break | |
fi | |
helm push "${pkg}" oci://ghcr.io/"${GITHUB_REPOSITORY_OWNER}"/charts | |
file=${pkg##*/} | |
name=${file%-*} | |
version=${file%.*} | |
version=${version#*-} | |
cosign sign ghcr.io/"${GITHUB_REPOSITORY_OWNER}"/charts/"${name}":"${version}" | |
done |