Alert on GHA failures for the chart testing workflow #1328
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 | |
pull_request: | |
jobs: | |
lint: | |
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.6.3 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --target-branch main --chart-dirs charts --chart-dirs other-charts) | |
if [[ -n "$changed" ]]; then | |
echo 'changed=true' >> $GITHUB_OUTPUT | |
fi | |
- name: Run chart-testing (lint changed) | |
id: ct-lint | |
if: steps.list-changed.outputs.changed == 'true' | |
run: | | |
ct lint --target-branch main --chart-dirs charts --chart-dirs other-charts | |
if [[ $? -ne 0 ]]; then | |
echo "failed=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Run chart-testing (lint all) | |
id: ct-lint-all | |
run: | | |
ct lint --target-branch main --all --chart-dirs charts --chart-dirs other-charts | |
if [[ $? -ne 0 ]]; then | |
echo "failed=true" >> $GITHUB_OUTPUT | |
fi | |
- name: Notify Slack of chart linting failure | |
if: steps.ct-lint.outputs.failed == 'true' || steps.ct-lint-all.outputs.failed == 'true' | |
uses: slackapi/[email protected] | |
with: | |
payload-delimiter: "_" | |
payload: | | |
{ | |
"blocks": [ | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": "Linting failed for ${{ steps.ct-lint.outputs.failed == true && 'changed' || 'all' }} charts. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
} | |
} | |
] | |
} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK | |
install: | |
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.6.3 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Set up chart-testing | |
uses: helm/[email protected] | |
- name: Run chart-testing (list-changed) | |
id: list-changed | |
run: | | |
changed=$(ct list-changed --target-branch main --chart-dirs charts --chart-dirs other-charts) | |
if [[ -n "$changed" ]]; then | |
echo 'changed=true' >> $GITHUB_OUTPUT | |
fi | |
- name: Create kind cluster | |
uses: helm/[email protected] | |
if: ( steps.list-changed.outputs.changed == 'true' ) || ${{ github.ref == 'refs/heads/main' }} | |
# no allow-failure until https://github.com/actions/toolkit/issues/399 | |
- name: Run chart-testing (install changed) | |
id: ct-install | |
if: ${{ github.ref != 'refs/heads/main' && steps.list-changed.outputs.changed == 'true' }} | |
run: | | |
ct install --target-branch main --chart-dirs charts --chart-dirs other-charts | |
if [[ $? -ne 0 ]]; then | |
echo "failed=true" >> $GITHUB_OUTPUT | |
fi | |
continue-on-error: true | |
# no allow-failure until https://github.com/actions/toolkit/issues/399 | |
- name: Run chart-testing (install all) | |
id: ct-install-all | |
if: ${{ github.ref == 'refs/heads/main' }} | |
run: | | |
ct install --target-branch main --all --chart-dirs charts --chart-dirs other-charts | |
if [[ $? -ne 0 ]]; then | |
echo "failed=true" >> $GITHUB_OUTPUT | |
fi | |
continue-on-error: true | |
- name: Notify Slack of chart install failure | |
if: steps.ct-install.outputs.failed == 'true' || steps.ct-install-all.outputs.failed == 'true' | |
uses: slackapi/[email protected] | |
with: | |
payload-delimiter: "_" | |
payload: | | |
{ | |
"blocks": [ | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": "Failure during installation of ${{ steps.ct-install.outputs.failed == true && 'changed' || 'all' }} charts. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
} | |
} | |
] | |
} | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK | |
check-versions-connect: | |
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.6.3 | |
- uses: extractions/setup-just@v2 | |
- name: Run executable verification for default interpreters | |
run: | | |
just test-connect-interpreter-versions |