Repository navigation
One check script, run by a factory-ci workflow and by the factory gate - #31
Merged
Merged
Conversation
rawphp
marked this pull request as ready for review
October 15, 2026 10:39
Author
|
Factory gate: passed (attempt 1, run by the factory in a fresh checkout of the pull request's head
|
tomkaczocha
reviewed
Oct 15, 2026
| uses: voidzero-dev/setup-vp@v1 | ||
| with: | ||
| node-version-file: package.json | ||
| cache: true |
Collaborator
There was a problem hiding this comment.
factory-ci installs dependencies twice: setup-vp run-install plus a separate vp i step · nit
Scenario: On every factory-ci run, setup-vp installs dependencies (run-install: true), then the 'Install' step runs vp i again. This adds time to a job capped at 15 minutes and does nothing else. ci.yml's jobs only use run-install.
Fix: Drop the separate 'Install' step (or set run-install: false), as ci.yml does.
Also: .github/workflows/factory-ci.yml:38, .github/workflows/factory-ci.yml:40
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.
Closes #2
Contract
factory/scripts/check.shrunscheck-seams.sh, the factory tests, the server typecheck and the web typecheck in that order, prints each step name first, and stops at the first failure with that step's exit code;factory-ci.ymlruns it on pull requests tomainand pushes tomainonubuntu-latestafter upstream's checkout and Vite+ setup steps andvp i, with no secrets;.dw/config.ymlgate is[factory/scripts/check.sh]withprovision: [vp i];factory/README.mdhas a Checks section.vp test run apps/server/src/factory→ pass (4 files, 14 tests)Acceptance criteria
check.shorder, step names, first-failure stop with that exit code —apps/server/src/factory/check.test.ts(all four tests)factory-ci.ymlonpull_requesttomainandpushtomain,ubuntu-latest, upstream's Checkout and Setup Vite+ steps, thenvp i, thencheck.sh, nosecrets.*— verified.github/workflows/factory-ci.yml:3-44against.github/workflows/ci.ymltypecheck job; the workflow itself cannot run yet because Actions are off on this repo.dw/config.ymlgate[factory/scripts/check.sh],provision: [vp i]— verified.dw/config.yml:6-7factory/README.mdChecks section — verifiedfactory/README.md:13-26(replaces the old Commands section, which it supersedes)Gate
factory/scripts/check.sh→ exit 0 (log:.factory/gate-1.log)Note: the worktree was cut before issue 1 merged; fast-forwarded to
origin/main(f1dba9a17) at Isolate before any edit.Models
modelsblock in config; Tom's roster)Review
c97ed4f63|| exit $?orset -euo pipefailkeeps the exit code; the|| truevariant cannot reach pastexit); the one real survivor (cd "$root") is now coveredLessons
Commits
4a845194ctest(factory): check.sh runs the gate steps in order and stops at the first failure— Make slice (red)5efa4066afeat(factory): check.sh runs seams, factory tests and typechecks in one gate— Make slice (green)aef688ac9ci(factory): factory-ci workflow runs check.sh on pull requests and pushes to main— Make slicebf609da22docs(factory): gate and CI run factory/scripts/check.sh— Make slice30845a328test(factory): check.sh test names its logs with a counter, not Math.random— Make (the Effect diagnostic rejectsMath.random(), caught by the server typecheck step)c97ed4f63test(factory): check.sh test runs from a subdirectory and names calls plainly— Check cycle 1Files
factory/scripts/check.sh— the one check, run by people, the gate and CIapps/server/src/factory/check.test.ts— pins order, step names, first-failure stop and exit code with a stubvpand stub seam script.github/workflows/factory-ci.yml— the fork's own workflow; no upstream workflow touched (no new seam).dw/config.yml— gate is the scriptfactory/README.md— Checks section