Repository navigation
Conversation
AGENTS.md writes down the chart, service and docs rules reviews have been enforcing by hand: one namespace helper, whoever creates a namespace deletes it, optional features leave the default render unchanged, everything works under helm template, setup Jobs named by a hash of their pod, fail closed, 503 for "can't check right now", gateway sign-in for new UIs, and docs and examples updated with every values change. Two checks enforce the mechanical parts: - scripts/check-examples-render.sh renders the chart values of every Argo CD Application under examples/ against the local chart, and checks the pinned version matches Chart.yaml and destination.namespace matches the pack's namespace. It runs in the lint-helm job. - scripts/diff-default-render.sh diffs the chart rendered with only its required values (scripts/chart-render-values.yaml) against the base branch. The new chart-render workflow fails on a diff unless the PR has the default-render-change label. The Argo CD Applications in examples/argocd-application.yaml, installation.md and README.md pinned chart 0.1.2 and did not render with it: all lacked frontend.keycloak.url, and README also lacked keyManager.nebariApp.hostname. Pin them to 0.1.4, the current release, and add the missing values. The docs tests that pin the version move to 0.1.4 with them.
|
📄 Docs preview for |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reviews of #211 and #221 kept enforcing the same design rules by hand. This writes them down in
AGENTS.md, so human and agent reviewers can treat a break as a blocker, and adds two CI checks for the parts a script can check.AGENTS.mdcovers:helm template, setup Jobs named by a hash of their pod;Retry-Afterfor "can't check right now", gateway sign-in for new UIs (Move the key manager to gateway sign-in, like the usage console #222), shared code stays shared;Example render check (
make chart-check-examples, runs in thelint-helmjob). Renders the chart values of every Argo CD Application underexamples/against the local chart. It also checks that the pinned chart version matchesChart.yamland thatdestination.namespacematches the pack's namespace.Default render diff (
make chart-diff-render, newchart-renderworkflow). Renders the chart with only its required values (scripts/chart-render-values.yaml) and diffs that against the base branch. A diff means every existing install changes on upgrade, so the check fails unless the PR has the newdefault-render-changelabel. Either way, the diff appears in the job summary. Version bumps and intended default changes take the label.Fixes found by the new check. The Argo CD Applications in
examples/argocd-application.yaml,installation.mdandREADME.mdpinned chart 0.1.2 and didn't render even at 0.1.2:frontend.keycloak.url;keyManager.nebariApp.hostname.They now pin 0.1.4, the current release, with the missing values added. The docs tests that pin the version move to 0.1.4 with them.
Test plan
make chart-check-examplespasses. It fails whendestination.namespaceis wrong, the pin is stale, or an example can't be parsed.make chart-diff-renderreports no change againstorigin/main. It fails with the diff on aChart.yamlversion bump. Against Per-request LLM usage metering, with an optional bundled OpenMeter #211's head it's also clean, so Per-request LLM usage metering, with an optional bundled OpenMeter #211 with OpenMeter off leaves the default render unchanged.installation.mdand README Applications render against the current chart.cd docs && npx vitest run: 31 passed.This PR adds the diff script, so
chart-renderruns here too. It should pass with no diff, since nothing undercharts/changes.