Add general polder deployment #23
Workflow file for this run
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/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 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' |