[pull] main from external-secrets:main #1144
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: Helm | |
on: | |
push: | |
branches: | |
- main | |
- release-* | |
paths: | |
- 'deploy/charts/**' | |
- 'deploy/crds/**' | |
pull_request: | |
paths: | |
- 'deploy/charts/**' | |
- 'deploy/crds/**' | |
workflow_dispatch: {} | |
permissions: | |
contents: read | |
jobs: | |
lint-and-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Generate chart | |
run: | | |
make helm.generate | |
- name: Set up Helm | |
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5 | |
with: | |
version: v3.14.2 # remember to also update for the second job (release) | |
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: 3.7 | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1 | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --config=.github/ci/ct.yaml) | |
if [[ -n "$changed" ]]; then | |
echo "changed=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Install chart unittest | |
run: | | |
helm env | |
helm plugin install https://github.com/helm-unittest/helm-unittest | |
- name: Run chart-testing (lint) | |
run: ct lint --config=.github/ci/ct.yaml | |
- name: Create kind cluster | |
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 | |
if: steps.list-changed.outputs.changed == 'true' | |
- name: Run chart-testing (install) | |
run: ct install --config=.github/ci/ct.yaml --charts deploy/charts/external-secrets | |
if: steps.list-changed.outputs.changed == 'true' | |
- name: Run unitests | |
if: steps.list-changed.outputs.changed == 'true' | |
run: make helm.test | |
release: | |
permissions: | |
contents: write # for helm/chart-releaser-action to push chart release and create a release | |
packages: write # to push OCI chart package to GitHub Registry | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 0 | |
- name: Configure Git | |
run: | | |
git config user.name "$GITHUB_ACTOR" | |
git config user.email "[email protected]" | |
- name: Set up Helm | |
uses: azure/setup-helm@f382f75448129b3be48f8121b9857be18d815a82 # v3.4 | |
with: | |
version: v3.4.2 | |
- name: Generate chart | |
run: | | |
make helm.generate | |
## Temporarily removing - This is making the release break. | |
# - name: Import GPG key | |
# run: | | |
# echo "${{ secrets.GPG_PRIVATE_KEY }}" | gpg --dearmor --output keyring.gpg | |
# echo "${{ secrets.GPG_PASSPHRASE }}" > passphrase-file.txt | |
- name: Run chart-releaser | |
uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # v1.6.0 | |
if: | | |
github.ref == 'refs/heads/main' || | |
startsWith(github.ref, 'refs/heads/release-') | |
env: | |
## Temporarily removing - This is making the release break | |
# CR_KEY: external-secrets <[email protected]> | |
# CR_KEYRING: keyring.gpg | |
# CR_PASSPHRASE_FILE: passphrase-file.txt | |
# CR_SIGN: true | |
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
CR_RELEASE_NAME_TEMPLATE: "helm-chart-{{ .Version }}" | |
with: | |
charts_dir: deploy/charts | |
skip_existing: true | |
charts_repo_url: https://charts.external-secrets.io | |
- name: Set up Helm | |
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5 | |
with: | |
version: v3.14.2 # remember to also update for the first job (lint-and-test) | |
- name: Login to GHCR | |
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Push chart to GHCR | |
run: | | |
shopt -s nullglob | |
for pkg in .cr-release-packages/*.tgz; do | |
if [ -z "${pkg:-}" ]; then | |
break | |
fi | |
helm push "${pkg}" "oci://ghcr.io/${GITHUB_REPOSITORY_OWNER}/charts" | |
done |