Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,6 @@ jobs:
export UV_INSTALL_DIR="$HOME/.local/bin"
curl -LsSf https://astral.sh/uv/0.10.10/install.sh -o /tmp/uv-install.sh; sh /tmp/uv-install.sh # never a pipe — see the dashboard job's copy (#1788)
echo "$UV_INSTALL_DIR" >> "$GITHUB_PATH"
- name: Lint docs voice, operator strings, topology classes, file budget, trivy parity, then JS/CSS (Biome), YAML, Markdown, proto (buf), TOML (taplo)
# Single source of truth: the Makefile targets. REPO-LOCAL GATES FIRST (#1746): the five bash ones cost under 6s between them, while the five after them fetch via npx/uvx/docker and have eaten the whole 15-minute timeout on a slow registry.
run: make lint-docs-voice lint-operator-strings lint-topology lint-file-budget lint-trivy-parity lint-js lint-yaml lint-md lint-proto lint-toml
- name: Lint docs voice, operator strings, topology classes, file budget, pithead/trivy parity, then JS/CSS (Biome), YAML, Markdown, proto (buf), TOML (taplo)
# Single source of truth: the Makefile targets. REPO-LOCAL GATES FIRST (#1746): local checks run before network-backed surface linters.
run: make lint-docs-voice lint-operator-strings lint-topology lint-file-budget lint-pithead-parity lint-trivy-parity lint-js lint-yaml lint-md lint-proto lint-toml
4 changes: 3 additions & 1 deletion dashboard/tests/frontend/wizardprobe.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -313,5 +313,7 @@ test("seam: the submit button stays live under a failed probe", async () => {
// The gate is the host's. The operator's only way out is to correct the address and submit
// again, so a failing report must not take the button away.
const out = await setupScreen(report([failed("refused")]));
assert.match(out, /<button type="submit">/);
const submit = out.match(/<button type="submit"[^>]*>/)?.[0] || "";
assert.ok(submit);
assert.doesNotMatch(submit, /disabled/);
});