Skip to content

fix(ci): guard UI-kit build/lint/typecheck/test/build steps with !cancelled()#8189

Merged
JSONbored merged 1 commit into
mainfrom
fix/ci-ui-kit-build-cancelled-guard
Jul 23, 2026
Merged

fix(ci): guard UI-kit build/lint/typecheck/test/build steps with !cancelled()#8189
JSONbored merged 1 commit into
mainfrom
fix/ci-ui-kit-build-cancelled-guard

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • An earlier, unrelated step failing anywhere in validate-code's long chain of drift checks (migrations, schema, env-reference, docs, manifest, engine-parity, branding, .nvmrc, release-manifest, observability, the MCP version audit) -- without continue-on-error -- skips every step after it by GitHub Actions' own default. "UI tests (ui-miner)" and "UI tests (miner-extension)" already had a !cancelled() guard for exactly this reason, but "Build UI-kit package", "Generate docs content collections", "UI lint", "UI typecheck", "UI tests (ui)", "Extension lint", "Extension typecheck", and "UI build" didn't.
  • Confirmed live: a same-day MCP release tripped the version-audit step, which skipped "Build UI-kit package" entirely (no guard), and "UI tests (ui-miner)" (guarded, so it still ran) then failed with a confusing "Failed to resolve import '@loopover/ui-kit/components/...'" that looked like a real code regression instead of a skipped upstream build (docs(ui): replace 49 hand-rolled docs.*.tsx thin routes with one dynamic docs.$slug.tsx route #8182).
  • The job as a whole still fails if any step fails -- this only stops one unrelated failure from masking every UI-specific result behind it, matching the resilience the two guarded test steps already had.

Test plan

  • Workflow-only change to .github/workflows/ci.yml; no src/** changes, so no Codecov impact.
  • actionlint .github/workflows/ci.yml passes.
  • This PR's own CI run is the real verification -- it should show Build UI-kit package/UI lint/etc. all attempt to run regardless of earlier drift-check outcomes.

…celled()

An earlier, unrelated step failing anywhere in validate-code's long chain of
drift checks (migrations, schema, env-reference, docs, manifest, engine-parity,
branding, .nvmrc, release-manifest, observability, the MCP version audit) --
without continue-on-error -- skips every step after it by GitHub Actions' own
default. "UI tests (ui-miner)" and "UI tests (miner-extension)" already had a
!cancelled() guard for exactly this reason, but "Build UI-kit package",
"Generate docs content collections", "UI lint", "UI typecheck", "UI tests
(ui)", "Extension lint", "Extension typecheck", and "UI build" didn't.

Confirmed live: a same-day MCP release tripped the version-audit step, which
skipped "Build UI-kit package" entirely (no guard), and "UI tests (ui-miner)"
(guarded, so it still ran) then failed with a confusing "Failed to resolve
import '@loopover/ui-kit/components/...'" that looked like a real code
regression instead of a skipped upstream build (PR #8182).

The job as a whole still fails if any step fails -- this only stops one
unrelated failure from masking every UI-specific result behind it, matching
the resilience the two guarded test steps already had.
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Jul 23, 2026
@JSONbored
JSONbored merged commit b95fbc1 into main Jul 23, 2026
10 checks passed
@JSONbored
JSONbored deleted the fix/ci-ui-kit-build-cancelled-guard branch July 23, 2026 09:32
@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.07%. Comparing base (d89698d) to head (a1ff7e6).
⚠️ Report is 3 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8189   +/-   ##
=======================================
  Coverage   92.07%   92.07%           
=======================================
  Files         769      769           
  Lines       77882    77882           
  Branches    23529    23527    -2     
=======================================
  Hits        71707    71707           
  Misses       5062     5062           
  Partials     1113     1113           
Flag Coverage Δ
control-plane 99.84% <ø> (ø)
rees 88.56% <ø> (ø)
shard-1 52.38% <ø> (ø)
shard-2 57.11% <ø> (-0.01%) ⬇️
shard-3 53.30% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant