mirror of
https://github.com/kyverno/kyverno.git
synced 2024-12-14 11:57:48 +00:00
631a8e1796
Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com> Signed-off-by: Batuhan Apaydın <batuhan.apaydin@trendyol.com> Co-authored-by: shuting <shuting@nirmata.com>
96 lines
3.2 KiB
YAML
96 lines
3.2 KiB
YAML
name: helm-release
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'kyverno-chart-v*'
|
|
- 'kyverno-policies-chart-v*'
|
|
- 'kyverno-chart-*'
|
|
- 'kyverno-policies-chart-*'
|
|
|
|
jobs:
|
|
helm-tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
|
|
|
|
- name: Unshallow
|
|
run: git fetch --prune --unshallow
|
|
|
|
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # v4.4.0
|
|
with:
|
|
python-version: 3.7
|
|
|
|
- name: Set up chart-testing
|
|
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # v2.3.1
|
|
|
|
- name: Run chart-testing (lint)
|
|
run: ct lint --target-branch=main --check-version-increment=false
|
|
|
|
create-release:
|
|
runs-on: ubuntu-latest
|
|
needs: helm-tests
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
id-token: write
|
|
pages: write
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # v3.2.0
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install Helm
|
|
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
|
|
with:
|
|
version: v3.10.3
|
|
|
|
- name: Install Cosign
|
|
uses: sigstore/cosign-installer@9becc617647dfa20ae7b1151972e9b3a2c338a2b # v2.8.1
|
|
with:
|
|
cosign-release: 'v1.13.0'
|
|
|
|
|
|
- name: Set version
|
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
|
|
|
- name: Create charts tmp directory
|
|
run: |
|
|
mkdir charts-tmp
|
|
if [[ "$RELEASE_VERSION" = "kyverno-policies-chart-v"* ]]; then
|
|
cp -a charts/kyverno-policies charts-tmp/kyverno-policies
|
|
fi
|
|
if [[ "$RELEASE_VERSION" = "kyverno-chart-v"* ]]; then
|
|
cp -a charts/kyverno charts-tmp/kyverno
|
|
fi
|
|
if [[ "$RELEASE_VERSION" = "kyverno-policies-chart-"* ]]; then
|
|
cp -a charts/kyverno-policies charts-tmp/kyverno-policies
|
|
fi
|
|
if [[ "$RELEASE_VERSION" = "kyverno-chart-"* ]]; then
|
|
cp -a charts/kyverno charts-tmp/kyverno
|
|
fi
|
|
|
|
- name: Run chart-releaser
|
|
uses: stefanprodan/helm-gh-pages@0ad2bb377311d61ac04ad9eb6f252fb68e207260 #v1.7.0
|
|
with:
|
|
token: "${{ secrets.GITHUB_TOKEN }}"
|
|
linting: off
|
|
charts_dir: charts-tmp
|
|
|
|
- name: Login to GitHub Container Registry
|
|
run: |
|
|
helm registry login --username ${GITHUB_ACTOR} --password ${{ secrets.GITHUB_TOKEN }} ghcr.io
|
|
|
|
- name: Publish OCI Charts
|
|
env:
|
|
COSIGN_EXPERIMENTAL: 1
|
|
run: |
|
|
for dir in `find charts-tmp -maxdepth 1 -mindepth 1 -type d -print`; do
|
|
chart=${dir##*/}
|
|
echo "Found chart: ${chart}"
|
|
helm package charts-tmp/${chart} --destination .dist
|
|
helm push .dist/${chart}-*.tgz oci://ghcr.io/${{ github.repository_owner }}/charts |& tee .digest
|
|
cosign login --username ${GITHUB_ACTOR} --password ${{ secrets.CR_PAT_ARTIFACTS }} ghcr.io
|
|
cosign sign ghcr.io/${{ github.repository_owner }}/charts/${chart}@$(cat .digest | awk -F "[, ]+" '/Digest/{print $NF}')
|
|
done
|