Merge pull request #15 from developmentseed/feature/some-more-helm-de… #17
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: Lint and Test Charts | |
on: | |
push: | |
branches: | |
- main | |
- chartsimprovements | |
tags: | |
- '*' | |
paths: | |
# Only run test and docker publish if some code have changed | |
- 'deployment/helm/**' | |
- '.github/workflows/check_charts.yaml' | |
pull_request: | |
jobs: | |
lint-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Check Version | |
run: | | |
current_version=$(grep '^version=' pyproject.toml | cut -f2 -d= | tr -d ' ' | tr -d '"') | |
app_version=$(grep 'appVersion:' deployment/helm/Chart.yaml | cut -f2 -d: | tr -d ' ' | tr -d '"') | |
if [[ "$current_version" != "$app_version" ]]; then | |
echo "❌ current version from pyproject.toml ($current_version) and appVersion from Chart.yaml ($app_version) differs"; | |
exit 1; | |
fi | |
- name: Set up Helm | |
uses: azure/setup-helm@v4 | |
with: | |
version: v3.9.2 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.7 | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --chart-dirs deployment --target-branch ${{ github.event.repository.default_branch }}) | |
if [[ -n "$changed" ]]; then | |
echo "::set-output name=changed::true" | |
fi | |
- name: Run chart-testing (lint) | |
run: ct lint --chart-dirs deployment --target-branch ${{ github.event.repository.default_branch }} | |
- name: Build container | |
uses: docker/build-push-action@v6 | |
if: steps.list-changed.outputs.changed == 'true' | |
with: | |
platforms: linux/amd64 | |
context: . | |
file: webapp/Dockerfile | |
push: false | |
tags: "polder:dev" | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
if: steps.list-changed.outputs.changed == 'true' | |
- name: Load container image in kind cluster | |
run: kind load docker-image polder:dev --name chart-testing | |
if: steps.list-changed.outputs.changed == 'true' | |
- name: Run chart-testing (install) | |
run: ct install --chart-dirs deployment/k8s | |
if: steps.list-changed.outputs.changed == 'true' |