yadflow 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -2
- package/package.json +1 -1
- package/skills/yad-checks/SKILL.md +2 -0
- package/skills/yad-checks/references/check-gates.md +5 -0
- package/skills/yad-checks/templates/checks/build-test-lint.sh +13 -1
- package/skills/yad-checks/templates/github/yad-checks.yml +2 -0
- package/skills/yad-checks/templates/gitlab/yad-checks.gitlab-ci.yml +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# [2.
|
|
1
|
+
# [2.10.0](https://github.com/abdelrahmannasr/yadflow/compare/v2.9.0...v2.10.0) (2026-06-15)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Features
|
|
5
5
|
|
|
6
|
-
* **
|
|
6
|
+
* **checks:** cap jest/vitest test workers in connected-repo CI gates ([#66](https://github.com/abdelrahmannasr/yadflow/issues/66)) ([7a16d51](https://github.com/abdelrahmannasr/yadflow/commit/7a16d51eb135c3240d3e94012f844c8b74210bd9))
|
|
7
7
|
|
|
8
8
|
# [2.2.0](https://github.com/abdelrahmannasr/yadflow/compare/v2.1.0...v2.2.0) (2026-06-14)
|
|
9
9
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yadflow",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "Yadflow — the gated, team, multi-repo SDLC: author → review → build with a PR-driven review gate and a zero-dependency `yad` CLI (setup, gate, commit, open-pr, ship, repo). A BMAD module + 29 yad-* skills.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "AbdelRahman Nasr",
|
|
@@ -16,6 +16,8 @@ in CI on every PR/MR and must pass before merge (build plan §C). Each is a smal
|
|
|
16
16
|
contract upstream, it **FAILS and routes back to the architecture gate**. The shared surface is
|
|
17
17
|
never widened from inside a code repo (Phase 2 contract representation: delimited block + SHA-256 lock).
|
|
18
18
|
3. **build/test/lint** — standard quality stage; tests must actually exercise new behavior, not just pass.
|
|
19
|
+
The CI job sets `YAD_TEST_MAX_WORKERS` (default `2`); the gate caps jest/vitest test concurrency at
|
|
20
|
+
that and is a no-op for other runners (see `references/check-gates.md`).
|
|
19
21
|
4. **verified-commits** — no unverified commits from unverified users: every commit in the range must
|
|
20
22
|
carry a signature the platform marks **Verified** AND be authored by a known identity
|
|
21
23
|
(`.sdlc/verified-authors`, generated from the hub roster's `email` fields). Enforced on the
|
|
@@ -46,6 +46,11 @@ repo uses. Each reads conventions established by earlier steps — it invents no
|
|
|
46
46
|
- Runs `npm run lint`, `npm run build`, `npm test` in order; any non-zero exit fails the gate.
|
|
47
47
|
- Tests must actually exercise behavior (build plan §C) — an empty or trivially-passing suite does not
|
|
48
48
|
satisfy the gate's intent.
|
|
49
|
+
- **Test worker cap.** When the CI job sets `YAD_TEST_MAX_WORKERS` (the templates default it to `2`)
|
|
50
|
+
and the repo's `test` script is jest/vitest, the gate forwards `--maxWorkers=<n>` to bound CI
|
|
51
|
+
concurrency. For any other runner (`node --test`, mocha, …) it is a no-op — the flag is never
|
|
52
|
+
passed, so the gate cannot break on an unknown option. Override it per repo via the
|
|
53
|
+
`YAD_TEST_MAX_WORKERS` CI variable, or unset it to remove the cap.
|
|
49
54
|
|
|
50
55
|
### Canonical `package.json` scripts (Node demo)
|
|
51
56
|
|
|
@@ -8,7 +8,19 @@ echo "[build/test/lint] lint…"
|
|
|
8
8
|
npm run --silent lint
|
|
9
9
|
echo "[build/test/lint] build…"
|
|
10
10
|
npm run --silent build
|
|
11
|
+
|
|
12
|
+
# Worker cap: when YAD_TEST_MAX_WORKERS is set AND the repo's test script is jest/vitest (the
|
|
13
|
+
# runners that accept --maxWorkers), forward it to bound CI test concurrency. For any other runner
|
|
14
|
+
# (node --test, mocha, …) it is a deliberate no-op so the gate never breaks on an unknown flag.
|
|
15
|
+
extra=""
|
|
16
|
+
if [ -n "${YAD_TEST_MAX_WORKERS:-}" ]; then
|
|
17
|
+
case "$(npm pkg get scripts.test 2>/dev/null || true)" in
|
|
18
|
+
*jest*|*vitest*) extra="-- --maxWorkers=${YAD_TEST_MAX_WORKERS}" ;;
|
|
19
|
+
esac
|
|
20
|
+
fi
|
|
11
21
|
echo "[build/test/lint] test…"
|
|
12
|
-
|
|
22
|
+
# Intentional word-splitting: $extra is either empty or `-- --maxWorkers=N`.
|
|
23
|
+
# shellcheck disable=SC2086
|
|
24
|
+
npm run --silent test $extra
|
|
13
25
|
|
|
14
26
|
echo "PASS [build/test/lint]: lint, build, and tests all green."
|