Create psql templates to reduce boilerplace #377
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: Common Library Tests | |
on: | |
pull_request: | |
paths: | |
- library/common/** | |
- library/common-test/** | |
- .github/ct-install-config/common*.yaml | |
- '!.github/ct-install-config/charts*' | |
- .github/workflows/common_library_tests.yaml | |
jobs: | |
lint: | |
name: Lint Common | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
helm-version: | |
- v3.9.4 | |
- v3.10.3 | |
- v3.12.1 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3 | |
with: | |
# Depth 0 is required for chart-testing to work properly | |
fetch-depth: 0 | |
- name: Install Helm | |
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # tag=v3 | |
with: | |
version: ${{ matrix.helm-version }} | |
- uses: actions/setup-python@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 # tag=v4 | |
with: | |
python-version: "3.10" | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1 | |
- name: Run chart-testing (lint) | |
id: lint | |
run: | | |
ct lint --config .github/ct-install-config/common-ct-lint.yaml | |
unittest: | |
needs: | |
- lint | |
name: Unit Tests | |
runs-on: ubuntu-22.04 | |
env: | |
helmUnitVersion: 0.3.0 | |
strategy: | |
fail-fast: false | |
matrix: | |
helm-version: | |
- v3.9.4 | |
- v3.10.3 | |
- v3.12.1 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3 | |
with: | |
# Depth 0 is required for chart-testing to work properly | |
fetch-depth: 0 | |
- name: Install Helm | |
uses: azure/setup-helm@f382f75448129b3be48f8121b9857be18d815a82 # tag=v3 | |
with: | |
version: ${{ matrix.helm-version }} | |
- name: Run Unit-tests | |
shell: bash | |
run: | | |
# Retry helm plugin install | |
helm plugin install https://github.com/helm-unittest/helm-unittest --version v${helmUnitVersion} || \ | |
helm plugin install https://github.com/helm-unittest/helm-unittest --version v${helmUnitVersion} || \ | |
helm plugin install https://github.com/helm-unittest/helm-unittest --version v${helmUnitVersion} || \ | |
helm plugin install https://github.com/helm-unittest/helm-unittest --version v${helmUnitVersion} | |
# Run tests | |
cd library/common-test/ | |
helm dependency update | |
helm unittest -f "tests/*/*.yaml" . | |
install: | |
needs: | |
- lint | |
name: Install Charts | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
# We run tests on k3s version of latest SCALE release, SCALE nightly and manually defined "latest" | |
k3s-version: | |
- v1.26.6+k3s1 | |
# We run tests on Helm version of latest SCALE release, SCALE nightly and manually defined "latest" | |
helm-version: | |
- v3.12.1 | |
values: | |
- basic-values.yaml | |
- configmap-values.yaml | |
- secrets-values.yaml | |
- imagePullSecret-values.yaml | |
- job-values.yaml | |
- cron-values.yaml | |
- persistence-values.yaml | |
- rbac-values.yaml | |
- init-values.yaml | |
steps: | |
- name: Checkout | |
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3 | |
with: | |
# Depth 0 is required for chart-testing to work properly | |
fetch-depth: 0 | |
- name: Install Helm | |
uses: azure/setup-helm@f382f75448129b3be48f8121b9857be18d815a82 # tag=v3 | |
with: | |
version: ${{ matrix.helm-version }} | |
- uses: actions/setup-python@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 # tag=v4 | |
with: | |
python-version: "3.10" | |
- name: Set up chart-testing | |
uses: helm/chart-testing-action@afea100a513515fbd68b0e72a7bb0ae34cb62aec # tag=v2.3.1 | |
- name: Create k3d cluster - Attempt 1/3 | |
continue-on-error: true | |
id: createc1 | |
uses: nolar/setup-k3d-k3s@293b8e5822a20bc0d5bcdd4826f1a665e72aba96 # tag=v1.0.9 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
version: ${{ matrix.k3s-version }} | |
# Flags found here https://github.com/k3d-io/k3d | |
k3d-args: --k3s-arg --disable=metrics-server@server:* | |
- name: Wait 10 second to retry | |
if: steps.createc1.outcome=='failure' | |
run: | | |
sleep 10 | |
- name: Create k3d cluster - Attempt 2/3 | |
continue-on-error: true | |
if: steps.createc1.outcome=='failure' | |
id: createc2 | |
uses: nolar/setup-k3d-k3s@293b8e5822a20bc0d5bcdd4826f1a665e72aba96 # tag=v1.0.9 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
version: ${{ matrix.k3s-version }} | |
# Flags found here https://github.com/k3d-io/k3d | |
k3d-args: --k3s-arg --disable=metrics-server@server:* | |
- name: Wait 10 second to retry | |
if: steps.createc2.outcome=='failure' | |
run: | | |
sleep 10 | |
- name: Create k3d cluster - Attempt 3/3 | |
id: createc3 | |
if: steps.createc2.outcome=='failure' | |
uses: nolar/setup-k3d-k3s@293b8e5822a20bc0d5bcdd4826f1a665e72aba96 # tag=v1.0.9 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
version: ${{ matrix.k3s-version }} | |
# Flags found here https://github.com/k3d-io/k3d | |
k3d-args: --k3s-arg --disable=metrics-server@server:* | |
- name: Run chart-testing (install) | |
run: | | |
# This is done to improve speed of the tests, so we can run tests in parallel | |
# Move all ci values on a temp location (or skip if already moved from another matrix job) | |
mv library/common-test/ci library/common-test/runtests || echo "Nothing to move" | |
# Move one values.yaml to the correct location to run the test | |
mv -f library/common-test/runtests/${{ matrix.values }} library/common-test/values.yaml | |
# Actually run the test | |
ct install --config .github/ct-install-config/common-ct-install.yaml |