You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Phase 3 — CI and release Blocked by:#30, #33, #37, #43 Blocks:#51
What
The diagnosis matters for what gets cut. Nothing in CI is slow — measured, the whole suite is 3m38s wall clock, the slowest job is 3.5 min and every container e2e leg is 1.0–1.5 min. CI is expensive because of job count and macOS billed at 10×: 72% of the ~89 billed minute-equivalents is three macOS legs whose product justification #6 already deleted.
Target: ~5 min wall clock (unchanged) and ~17 billed minute-equivalents (~5× cheaper). Critical path becomes the Core image job; everything else finishes inside it.
Each deletion below names the realistic failure it would have caught — and every one of them is "none".
dependency-audit becomes pnpm audit --prod --audit-level high — still catches postcss/@babel/core, drops the two dev-only brace-expansion highs that no contributor caused or can fix
Deleted: react-doctor.yml (cannot fail — blocking: is commented out; uses floating @v2/@v7 tags while holding pull-requests: write, issues: write, statuses: write, against this repo's SHA-pinning rule; and it is React code-quality, which Simplify Actana Control: two images, one installer, three workflows #6 scopes out) and the doctor script from package.json
Deleted: smoke-standalone-harness.mjs — it and the tarball smoke call the same assertBootsAndDials; nothing ships the path it uniquely covers
Deleted: both macOS actana setup e2es, the panel-e2e macOS leg (the Panel ships nowhere as a plain macOS process), and e2e-actana-setup-macos.mjs with the launchd paths
conventions.yml folded in as one job — three jobs each npm install-ing commitlint is three copies of one 30s setup
images-edge.yml deleted; :edge and sha-<short> become a push-to-main condition on the existing reusable container-image.yml call, with paths-ignore for **.md/docs/** carried across
Measured before/after job count and billed minutes recorded in the PR
Decisions are locked in ADR 0016. If this ticket needs one changed, amend the ADR in the same PR — do not decide it in a comment.
Part of #23. Spec: ADR 0016 — The 0.1.0 shape, clauses D34, D35, D37.
Phase 3 — CI and release
Blocked by: #30, #33, #37, #43
Blocks: #51
What
The diagnosis matters for what gets cut. Nothing in CI is slow — measured, the whole suite is 3m38s wall clock, the slowest job is 3.5 min and every container e2e leg is 1.0–1.5 min. CI is expensive because of job count and macOS billed at 10×: 72% of the ~89 billed minute-equivalents is three macOS legs whose product justification #6 already deleted.
Target: ~5 min wall clock (unchanged) and ~17 billed minute-equivalents (~5× cheaper). Critical path becomes the Core image job; everything else finishes inside it.
Each deletion below names the realistic failure it would have caught — and every one of them is "none".
Done when
typecheck,unit-tests,lint,dependency-audit,secret-scan,conventions(3 checks, 1 job),core-tarball-smoke×2 arches,panel-e2e(ubuntu),panel-image,core-image,installer-e2e×2 distrosdependency-auditbecomespnpm audit --prod --audit-level high— still catchespostcss/@babel/core, drops the two dev-onlybrace-expansionhighs that no contributor caused or can fixreact-doctor.yml(cannot fail —blocking:is commented out; uses floating@v2/@v7tags while holdingpull-requests: write,issues: write,statuses: write, against this repo's SHA-pinning rule; and it is React code-quality, which Simplify Actana Control: two images, one installer, three workflows #6 scopes out) and thedoctorscript frompackage.jsonsmoke-standalone-harness.mjs— it and the tarball smoke call the sameassertBootsAndDials; nothing ships the path it uniquely coversactana setupe2es, thepanel-e2emacOS leg (the Panel ships nowhere as a plain macOS process), ande2e-actana-setup-macos.mjswith the launchd pathsconventions.ymlfolded in as one job — three jobs eachnpm install-ing commitlint is three copies of one 30s setupimages-edge.ymldeleted;:edgeandsha-<short>become a push-to-maincondition on the existing reusablecontainer-image.ymlcall, withpaths-ignorefor**.md/docs/**carried acrossDecisions are locked in ADR 0016. If this ticket needs one changed, amend the ADR in the same PR — do not decide it in a comment.