ci: render, lint and kubeconform every chart on pull requests #125
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
homelab/apps!125
Loading…
Reference in a new issue
No description provided.
Delete branch "mc/afcef583-9ca0-48d5-9540-9ca3f1eeac74"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Pull requests to
homelab/appshad no build, so chart defects only showed up live. This adds.woodpecker/charts.yaml(event: pull_request, manual), which runsscripts/ci/validate-charts.shover every chart underapps/charts(including*.disabled):helm lintwith the ApplicationSet's globals (taken fromapps/root/values.yaml)helm templatepiped throughkubeconform -strict -ignore-missing-schemas(CRDs skipped)tests/render.sh, where one existsTools are pinned in
mise.toml(helm 3.19.0, kubeconform 0.7.0, yq 4.47.1, jq 1.8.1). The step image isci/mise:74db91ebpinned by digest. The same script runs locally withmise install && scripts/ci/validate-charts.sh [chart-dir...].The base PR only moves the
repos/appspointer.Evidence
mission-control.disabled/tests/render.sh.ntfywith an invalid Deployment now failshelm lintand kubeconform, and an invalid chart version failshelm dependency build.woodpecker-cli lint --strict .woodpecker/charts.yaml: valid.woodpecker-cli repo ls), so nothing for Morten to enable.Merge danger
The workflow only triggers on
pull_requestandmanual, so it does not touch ArgoCD or the cluster. Merging changes no workloads. A chart that fails the check will block its own PR once the check is made required, which has not been done.Rollback
Revert the commit; no live state depends on it.
Verification after merge
Open a PR against
homelab/appsand confirm thechartspipeline runs and goes green.The repos/apps submodule's part of a change to https://code.olsen.cloud/homelab/base. Merge it first.