Commit Graph

8 Commits

Author SHA1 Message Date
Claude 2033530ffa feat: prepare v4 course delivery and protected project sync
Capture the reviewed implementation and manual rehearsal for draft PR review. Master source prerequisites, full clean verification and coordinated Windows CI remain open; production rollout is separate.
2026-09-12 18:49:57 +02:00
Przemek Smyrdek 846d9b45b3 Fix/lazy yaml import (#29)
* fix: lazy-load yaml so CLI startup stays within budget

The top-level 'yaml' import in bench-kit.ts is pulled in by index.ts,
so every CLI start paid for loading the YAML parser and the binary
smoke test's 50ms startup budget blew on CI (~58ms). Import yaml
dynamically inside registerBaseRepo — the only code path that needs
it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test: raise unix startup budget to 60ms

Local measurements show bench-kit added no startup cost (~38ms avg at
pre-bench-kit, merged, and lazy-import refs alike) — the 50ms budget
was simply too tight for shared CI runners, which hover just above it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 21:12:44 +02:00
“mkczarkowski” 261d084165 fix(smoke): skip npm pack test on Windows — hangs on CI runners
npm pack --dry-run --json consistently exceeds 30s on windows-latest
runners. Since package contents are platform-independent, this test
only needs to run on Ubuntu (check job).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 15:50:03 +02:00
“mkczarkowski” 8a48fc7e70 fix(smoke): increase npm pack timeout for Windows CI runners
npm pack --dry-run --json takes >15s on windows-latest runners.
Bump timeout from 15s to 30s.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 15:43:14 +02:00
“mkczarkowski” e77b26ca8d fix(smoke): Windows CI — cross-platform tmp path and relaxed startup budget
- auto-version.mjs: use os.tmpdir() instead of hardcoded /tmp/ for
  release-notes.md (Windows has no /tmp)
- binary.test.ts: raise startup budget to 150ms on Windows (CI runners
  have slower process spawn overhead)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 15:41:09 +02:00
“mkczarkowski” 28d66a3b31 fix(smoke): cross-platform auto-version tests — use Node.js fs APIs
Shell commands like `echo '...' > file` and `cp` don't work on Windows.
Replace with writeFileSync, appendFileSync, and copyFileSync so the
auto-version smoke tests pass on both unix and Windows CI runners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 15:38:10 +02:00
“mkczarkowski” 1178bc13a8 feat(windows-compatibility): cross-platform test fixes and Windows CI (p3)
Replace macOS-specific patterns in tests (hardcoded /tmp, mktemp -d,
rm -rf, 2>/dev/null) with Node APIs (os.tmpdir, mkdtempSync, rmSync,
stdio pipes). Add platform guards for POSIX mode-bit assertions. Add
check-windows CI job. Document npx zero-install and Node 20+ requirement.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:10:11 +02:00
“mkczarkowski” 40e5b37b4f feat(ci): add release workflow with npm publish, cross-platform binaries, and GitHub Releases
- Auto-version from conventional commits (auto-version.mjs) with git-diff
  gate: only releases when src/ or package.json actually changed
- 5-platform binary builds (linux x64/arm64, macOS x64/arm64, windows)
- npm publish with auth token wiring
- GitHub Release with auto-generated notes and binary attachments
- Smoke tests for package tarball and auto-version script
- Hardened: top-level permissions: {}, env bindings (no expression injection),
  persist-credentials only where needed for git push

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 20:09:00 +02:00