EVEREST-1513 | PR checks for Everest helm chart #19
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: Everest PR checks | |
on: | |
pull_request: | |
paths: | |
- 'charts/everest/**' | |
jobs: | |
lint-test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Helm | |
uses: azure/[email protected] | |
with: | |
version: v3.15.4 | |
- uses: azure/setup-kubectl@v4 | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --config .github/ct.yaml) | |
if [[ -n "$changed" ]]; then | |
echo "changed=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Run chart-testing (lint) | |
run: | | |
# Ensure common sub-chart is linted and has version increment | |
ct lint --config .github/ct.yaml --lint-conf .github/lintconf.yaml --chart-dirs=charts/everest/charts --excluded-charts=everest-db-namespace | |
# Ensure main chart is linted, skip version increment check | |
ct lint --config .github/ct.yaml --lint-conf .github/lintconf.yaml --check-version-increment=false | |
# Ensure all sub-charts are linted, skip version increment check | |
ct lint --config .github/ct.yaml --lint-conf .github/lintconf.yaml --chart-dirs=charts/everest/charts --check-version-increment=false | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
# Only build a kind cluster if there are chart changes to test. | |
if: steps.list-changed.outputs.changed == 'true' | |
# TODO: Add more tests | |
- name: Run chart-testing (install) | |
run: | | |
kubectl create namespace everest-system | |
ct install --config .github/ct.yaml --charts=./charts/everest --namespace=everest-system | |
kubectl create namespace everest | |
kubectl label namespace everest app.kubernetes.io/managed-by=everest | |
ct install --config .github/ct.yaml --charts=./charts/everest/charts/everest-db-namespace --namespace=everest | |
- name: Build chart package | |
run: | | |
changed=$(ct list-changed --config .github/ct.yaml) | |
[ $(echo -n "$changed" | grep -c '^') == 1 ] && helm package $changed || echo "skipping package" | |
- name: Upload helm chart | |
uses: actions/upload-artifact@v4 | |
with: | |
path: ./*.tgz | |
retention-days: 30 | |
if-no-files-found: ignore | |