Merge pull request #16 from developmentseed/feature/general-polder-de… #26
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: | |
env: | |
PGO_CHART_VERSION: 5.7.0 | |
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/polder/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 | |
# Add DevSeed helm repository | |
- name: Add DevSeed helm repository | |
run: helm repo add devseed https://devseed.com/eoapi-k8s/ | |
- 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/helm --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/helm --target-branch ${{ github.event.repository.default_branch }} | |
- name: Build webapp container | |
uses: docker/build-push-action@v6 | |
if: steps.list-changed.outputs.changed == 'true' | |
with: | |
platforms: linux/amd64 | |
context: webapp | |
file: webapp/Dockerfile | |
push: false | |
tags: "polder:dev" | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
if: steps.list-changed.outputs.changed == 'true' | |
# Install postgres operator | |
- name: Install postgres operator | |
run: helm install --set disable_check_for_upgrades=true pgo oci://registry.developers.crunchydata.com/crunchydata/pgo --version ${PGO_CHART_VERSION} | |
- 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/helm --target-branch ${{ github.event.repository.default_branch }} | |
if: steps.list-changed.outputs.changed == 'true' |