diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..e798a28 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,33 @@ +name: test + +on: + push: + branches: [dev, main] + pull_request: + +jobs: + self-test: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + with: + version: 10 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + + # The suite shells out to python3 for the PDF bounding-box unittest + # (stdlib-only, no pip install needed). + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + + # Lockfiles are gitignored in this repo, so install resolves fresh. + # Install only @haposoft/cafekit deps — skips the cafekit-web Next.js tree. + - run: pnpm install --filter @haposoft/cafekit + + - run: pnpm --filter @haposoft/cafekit test diff --git a/docs/project-changelog.md b/docs/project-changelog.md index 772a830..d475167 100644 --- a/docs/project-changelog.md +++ b/docs/project-changelog.md @@ -5,6 +5,9 @@ All notable changes to CafeKit are documented here, following ## [Unreleased] +### Added +- **CI test workflow** (`.github/workflows/test.yml`): runs the `@haposoft/cafekit` self-test suite (137 tests, Node 20 + pnpm 10 + Python 3.12) on every push to `dev`/`main` and on pull requests. Filtered install keeps the `cafekit-web` tree out of CI. Release publishing stays manual. + ## [0.13.2] - 2026-06-21 ### Added — Enforce scaffold on task creation