Commit Graph

17 Commits

Author SHA1 Message Date
Claude 2adafaa152 fix: keep paid CI evidence private and converge cumulative sync 2026-09-12 19:10:24 +02:00
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
“mkczarkowski” f663dc25c0 fix(ci): include version and github-release in Slack failure check
The notify-slack job checked only check, e2e, and publish-npm but
missed version and github-release from its needs list. A failure in
either would show a green notification and skip #alerting.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 15:25:43 +02:00
“mkczarkowski” 54d7e6228d feat(ci): add debugging links to #alerting notifications
Adds context row with quick links: commit diff, full logs, npm package.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 19:22:20 +02:00
“mkczarkowski” b2d78557de style(ci): redesign Slack notifications with emojis and block formatting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 19:06:02 +02:00
“mkczarkowski” 3d00d01fce feat(ci): split Slack to #observability + #alerting channels
- notify-slack: success → #observability, failure → both channels

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 18:50:26 +02:00
“mkczarkowski” 819248c081 feat(ci): add Slack notifications for pipeline results
- notify-slack job posts pipeline summary to #ci-deploys on master push
- Shows: tests, e2e, version, npm publish, GitHub release status

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 18:34:23 +02:00
“mkczarkowski” e95e9a0c78 feat(e2e): CI workflow — e2e jobs and Windows smoke tests (p5)
- .github/workflows/ci.yml: add e2e + e2e-windows jobs with Resend secrets,
  extend check-windows with build:binary + smoke tests
- docs/reference/platform-support.md: update CI testing table to match reality
- context/changes/e2e/plan.md: mark phase 5 automated steps complete

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 15:16:12 +02:00
“mkczarkowski” e7b64c628b feat(windows-compatibility): PowerShell CI and platform-support docs
Switch Windows CI job to native PowerShell with Get-ChildItem for test
file enumeration (no glob expansion needed). Add platform-support
reference doc for learners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:44:46 +02:00
“mkczarkowski” f1c5daaa79 fix(ci): use bash shell for Windows CI job
PowerShell does not expand glob patterns — use Git Bash (available on
all GitHub Actions Windows runners) so tests/*.test.ts resolves.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:14:18 +02:00
“mkczarkowski” d4b4b5ab2e fix(ci): use ./ prefix for bun test glob on Windows
PowerShell does not expand bare globs — bun test needs ./tests/*.test.ts
to resolve the path on Windows runners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 15:12:50 +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” 1594ebe8e7 refactor(ci): consolidate release jobs into CI workflow
Move version bump, binary builds, npm publish, and GitHub release from a
separate workflow_run-triggered release.yml into ci.yml gated behind
`github.ref == 'refs/heads/master'`. All jobs now appear in a single
workflow run on the commit in the GitHub UI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 20:01:14 +02:00
“mkczarkowski” 92d24ac4b4 fix(ci): add missing conventional-recommended-bump dependency and improve release error handling
The release workflow silently skipped every release because auto-version.mjs
imported conventional-recommended-bump which was never in devDependencies.
The error handler treated the import crash as "no bump needed." Now the
dependency is installed and the bump step distinguishes expected skip (exit 1)
from real crashes (any other non-zero exit).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:53:37 +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
“mkczarkowski” fc64cea7d9 security: harden supply chain, add request timeout, and document threat model
- Pin GitHub Actions by full SHA to prevent tag-swapping attacks
- Add .npmrc with ignore-scripts and 7-day minimum-release-age quarantine
- Add 30s default request timeout for API calls without caller signal
- Remove unused `open` dependency to reduce attack surface
- Strip OpenAPI source URL from generated types header
- Add SECURITY.md documenting threat model (T1–T8), review history, and
  design decisions
- Add persist-credentials: false to checkout action

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:50:03 +02:00
“mkczarkowski” b42b119050 feat:bootstrap the tool 2026-04-11 11:18:40 +02:00