Skip to content

Commit

Permalink
chore(gh-actions): add helm lint and test
Browse files Browse the repository at this point in the history
  • Loading branch information
richardtief committed Oct 17, 2024
1 parent 100fb1a commit 3241bda
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 6 deletions.
10 changes: 10 additions & 0 deletions .github/configs/helm-lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Greenhouse contributors
# SPDX-License-Identifier: Apache-2.0

# See https://github.com/helm/chart-testing#configuration
remote: origin
target-branch: main
validate-maintainers: false
check-version-increment: false
chart-dirs:
- charts/kubernetes-operations
74 changes: 74 additions & 0 deletions .github/workflows/helm-lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: "Helm lint and tests"
on:
pull_request:
types: [ opened, synchronize, reopened ]

env:
REGISTRY: ghcr.io

jobs:
helm-lint-test:
runs-on: [ default ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Helm
uses: azure/[email protected]

- uses: actions/setup-python@v5
with:
python-version: 3.9
check-latest: true
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up chart-linting and chart-testing
uses: helm/[email protected]

- name: Run chart-linting (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --config .github/configs/helm-lint.yaml --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Run chart-linting
if: steps.list-changed.outputs.changed == 'true'
run: ct lint --config .github/configs/helm-lint.yaml --target-branch ${{ github.event.repository.default_branch }}

- name: Run chart-testing (list-changed)
id: chart-test-list-changed
run: |
changed=$(ct list-changed --config .github/configs/helm-test.yaml --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$changed" ]]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Check version bump
id: check-bump
if: steps.list-changed.outputs.changed == 'true'
continue-on-error: true
run: |
for chart in $(ct list-changed --config .github/configs/helm-lint.yaml --target-branch ${{ github.event.repository.default_branch }}); do
chart_version=$(yq .version "$chart/Chart.yaml")
if helm pull "oci://${{ env.REGISTRY }}/${{ github.repository }}/charts/$(dirname $chart)" --version $chart_version; then
echo "chart=$(dirname $chart)" >> "$GITHUB_OUTPUT"
echo "chart_version=${chart_version}" >> "$GITHUB_OUTPUT"
echo "needsbump=true" >> "$GITHUB_OUTPUT"
fi
done
- uses: actions/github-script@v7
if: steps.check-bump.outputs.needsbump == 'true'
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: ':warning: Chart `oci://${{ env.REGISTRY }}/${{ github.repository }}/charts/${{ steps.check-bump.outputs.chart }}:${{ steps.check-bump.outputs.chart_version }}` already exists in OCI registry. Please increment the chart version.'
})
core.setFailed(`Action failed with error: Chart version bump required`);
12 changes: 6 additions & 6 deletions .github/workflows/helm-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,6 @@ jobs:
check-latest: true
token: ${{ secrets.GITHUB_TOKEN }}

- name: Run chart-releaser
uses: helm/[email protected]
env:
CR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CR_GENERATE_RELEASE_NOTES: true

- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
Expand Down Expand Up @@ -97,3 +91,9 @@ jobs:
helm package ${{ matrix.chartDir }} -d ${{ matrix.chartDir }}
PKG_NAME=`ls ${{ matrix.chartDir }}/*.tgz`
helm push ${PKG_NAME} oci://${{ env.REGISTRY }}/${{ github.repository }}/charts/
- name: Run chart-releaser
uses: helm/[email protected]
env:
CR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CR_GENERATE_RELEASE_NOTES: true

0 comments on commit 3241bda

Please sign in to comment.