mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Signed-off-by: Tyler Longwell <tlongwell@squareup.com> Co-authored-by: npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co> Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
98 lines
2.9 KiB
YAML
98 lines
2.9 KiB
YAML
name: helm chart
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- "deploy/charts/buzz/**"
|
|
- ".github/workflows/helm-chart.yml"
|
|
- "ct.yaml"
|
|
pull_request:
|
|
paths:
|
|
- "deploy/charts/buzz/**"
|
|
- ".github/workflows/helm-chart.yml"
|
|
- "ct.yaml"
|
|
|
|
jobs:
|
|
lint-and-unittest:
|
|
name: lint + unittest + render matrix
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Helm
|
|
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
|
|
with:
|
|
version: v3.16.4
|
|
|
|
- name: Install helm-unittest plugin
|
|
run: helm plugin install --version 0.8.2 https://github.com/helm-unittest/helm-unittest
|
|
|
|
- name: Set up Python (for chart-testing)
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Set up chart-testing
|
|
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0
|
|
|
|
- name: Build chart dependencies
|
|
run: helm dependency build deploy/charts/buzz
|
|
|
|
- name: ct lint
|
|
run: ct lint --config ct.yaml --all
|
|
|
|
- name: helm-unittest
|
|
run: helm unittest deploy/charts/buzz
|
|
|
|
- name: helm template (render every fixture)
|
|
run: |
|
|
set -euo pipefail
|
|
for f in deploy/charts/buzz/ci/*-values.yaml deploy/charts/buzz/tests/fixtures/*-values.yaml; do
|
|
echo "::group::render $f"
|
|
helm template buzz deploy/charts/buzz -f "$f"
|
|
echo "::endgroup::"
|
|
done
|
|
|
|
install-on-kind:
|
|
# Full end-to-end install requires the public ghcr.io/block/buzz image to
|
|
# exist and to embed Max's startup migrations. Runs only after Sami's
|
|
# image PR merges (`workflow_dispatch`) or on a schedule once main carries
|
|
# both prerequisites. Render/lint above is the per-PR signal.
|
|
name: install on kind (gated)
|
|
if: github.event_name == 'workflow_dispatch'
|
|
runs-on: ubuntu-latest
|
|
needs: lint-and-unittest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Helm
|
|
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
|
|
with:
|
|
version: v3.16.4
|
|
|
|
- name: Set up Python (for chart-testing)
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Set up chart-testing
|
|
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0
|
|
|
|
- name: Create kind cluster
|
|
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0
|
|
with:
|
|
version: v0.24.0
|
|
node_image: kindest/node:v1.31.0
|
|
|
|
- name: Build chart dependencies
|
|
run: helm dependency build deploy/charts/buzz
|
|
|
|
- name: ct install (quickstart profile)
|
|
run: ct install --config ct.yaml --charts deploy/charts/buzz --helm-extra-args "--timeout 600s"
|