mirror of
https://github.com/versity/versitygw.git
synced 2026-08-17 12:46:23 +00:00
50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
name: Release Helm Chart
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
packages: write
|
|
id-token: write
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Check if chart should be updated
|
|
id: check
|
|
run: |
|
|
version=$(yq '.version' chart/Chart.yaml)
|
|
echo "version=$version" >> "$GITHUB_OUTPUT"
|
|
if helm show chart oci://ghcr.io/versity/versitygw/charts/versitygw --version "$version" 2>/dev/null; then
|
|
echo "No chart update detected."
|
|
echo "new=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "Chart update detected. Updating to $version."
|
|
echo "new=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Package chart
|
|
if: steps.check.outputs.new == 'true'
|
|
run: helm package chart/
|
|
|
|
- name: Login to GHCR
|
|
if: steps.check.outputs.new == 'true'
|
|
run: echo "${{ secrets.GITHUB_TOKEN }}" | helm registry login ghcr.io -u versity --password-stdin
|
|
|
|
- name: Push chart
|
|
if: steps.check.outputs.new == 'true'
|
|
run: helm push versitygw-${{ steps.check.outputs.version }}.tgz oci://ghcr.io/versity/versitygw/charts
|
|
|
|
- name: Install cosign
|
|
if: steps.check.outputs.new == 'true'
|
|
uses: sigstore/cosign-installer@v4.0.0
|
|
|
|
- name: Sign chart with cosign
|
|
if: steps.check.outputs.new == 'true'
|
|
run: cosign sign --yes ghcr.io/versity/versitygw/charts/versitygw:${{ steps.check.outputs.version }}
|