Skip to content

ci: cut unchanged verification to 3.3 seconds - #22

Merged
altaywtf merged 3 commits into
mainfrom
perf/fast-portable-verification
Aug 21, 2026
Merged

ci: cut unchanged verification to 3.3 seconds#22
altaywtf merged 3 commits into
mainfrom
perf/fast-portable-verification

Conversation

@altaywtf

Copy link
Copy Markdown
Member

Local and CI verification serialized independent monorepo lanes, and a main push repeated the same full verify and scan in the release workflow.

  • Fix: one repository-owned Vite Task graph now schedules formatting, linting, design checks, type freshness, 98 tests, and four builds with explicit dependencies.
  • Cache: stable Worker test/build inputs now hit; pull requests and main verification restore a 2.2 MB task cache scoped by GitHub cache rules.
  • Delivery: main verify and scan now gate both deploy and the reusable release workflow. Secret-bearing deploy/release jobs still install fresh and restore no pull-request task state.
  • Measured:
unchanged before                 12.43s
unchanged canonical gate          3.25s
workflow-only change              4.63s
forced exhaustive gate      17.82-20.70s
forced result          98 tests + 4 builds pass
  • Static proof: actionlint and zizmor report no findings.

Copilot AI lite review requested due to automatic review settings August 21, 2026 00:51

@slopzapper slopzapper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚡ SLOPS ZAPPED: 1

Verdict: Zaps needed

Folding Release into Main changes the OIDC workflow filename npm checks, so Trusted Publishing no longer matches the registered release.yml publisher and CLI publishes fail closed. The Vite task-cache wiring is not a second proved break.

Findings

  1. 🧨 MIDSLOP · P1 — Release caller is now main.yml — npm trusted-publisher match is bogus (.github/workflows/main.yml:89)

Comment thread .github/workflows/main.yml Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures repo verification and delivery around a repository-owned Vite Task graph and reuses that graph across local scripts and CI, aiming to avoid re-running unchanged lanes and to ensure main verification gates deploy/release.

Changes:

  • Introduces a top-level Vite Task graph (ready, checks, tests, builds, etc.) with explicit dependencies to parallelize verification work.
  • Refactors root and apps/api scripts to route through the new task graph (including Worker build/test tasks with declared inputs/outputs).
  • Updates CI workflows to restore the Vite Task cache and makes the release workflow reusable and gated by the main workflow’s verify/scan jobs.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
vite.config.ts Adds repo-level Vite Task graph to coordinate checks/tests/builds/types with dependencies.
package.json Simplifies check/test/build to run the new task graph targets.
CONTRIBUTING.md Documents the new verification flow and the no-cache “force every lane” option.
apps/api/vite.config.ts Defines cacheable Worker build/test tasks with explicit inputs/outputs.
apps/api/package.json Routes API build/test scripts through the new Vite Task tasks.
AGENTS.md Updates contributor guidance around cached verification and forcing full runs.
.github/workflows/verify.yml Restores the Vite Task cache before running the canonical ready gate.
.github/workflows/release.yml Converts release workflow to workflow_call and removes duplicated verify/scan.
.github/workflows/main.yml Restores the Vite Task cache, gates deploy/release on verify+scan, and calls reusable release workflow.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread vite.config.ts
Comment thread CONTRIBUTING.md Outdated
Comment thread .github/workflows/verify.yml Outdated
Comment thread .github/workflows/main.yml Outdated

@slopzapper slopzapper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚡ SLOPS ZAPPED: 1

Verdict: Zaps needed

Calling release.yml via workflow_call makes npm OIDC authenticate as main.yml. The registered trusted publisher is still release.yml, so CLI publishes will fail until that match is restored.

Findings

  1. 🧨 MIDSLOP · P1 — npm trusted publisher still release.yml — workflow_call publish auth is broken (.github/workflows/release.yml:9)

Comment thread .github/workflows/release.yml
@altaywtf altaywtf changed the title perf: cut unchanged verification to 3.3 seconds ci: cut unchanged verification to 3.3 seconds Aug 21, 2026
@altaywtf

Copy link
Copy Markdown
Member Author

@slopzapper re-review

@slopzapper

slopzapper Bot commented Aug 21, 2026

Copy link
Copy Markdown

A review is already running for head 7deb80c09945.

@slopzapper slopzapper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✨ CLEAN

The change is clean: the new ready graph keeps the old verify lanes, the deleted suites are already covered in shared tests, and the CI cache path matches Vite Task's documented store.

@altaywtf
altaywtf merged commit 2373dbe into main Aug 21, 2026
5 checks passed
@altaywtf
altaywtf deleted the perf/fast-portable-verification branch August 21, 2026 09:06
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.

2 participants