Skip to content

ci: add GitHub Actions CI for web and pipeline - #12

Merged
dommango merged 1 commit into
mainfrom
ci/github-actions
Jul 17, 2026
Merged

ci: add GitHub Actions CI for web and pipeline#12
dommango merged 1 commit into
mainfrom
ci/github-actions

Conversation

@dommango

Copy link
Copy Markdown
Owner

Summary

The repo had no .github/workflows/, so no checks ran on any PR (including the recent ones — they merged and shipped on local verification alone). This adds a CI workflow with two jobs, each built from the project's own commands rather than invented ones.

  • web — the Next app in web/, scoped via working-directory: npm cinpx tsc --noEmit (there is no typecheck script, so tsc is called directly) → npm test (vitest) → npm run lint (eslint) → npm run build.
  • pipeline — the Python corpus/generation pipeline at the repo root: pip install -r requirements.txtpytest tests/. All 190 tests are hermetic (the render/network paths are mocked), so no Rack, Railway, or network access is needed. soundfile bundles libsndfile in its wheel, so no apt step is required.

House style, consistent with the other repos: name: CI, triggers on push + PR to main, concurrency with cancel-in-progress, permissions: contents: read, actions/checkout@v4, pinned setup actions with dependency caching.

Generated (and dogfooded) by the new repo-ci skill; validated with actionlint.

Test plan

  • actionlint — clean
  • web: npx tsc --noEmit, npm test (5/5), npm run lint, npm run build all pass locally
  • pipeline: pytest tests/ — 190 passed in ~1.8s, no network
  • CI runs green on this PR (first run appears here, since the workflow arrives with it)

Note: consider adding this workflow as a required status check in main's branch protection once it's proven green.

The repo had no .github/workflows/, so nothing ran on PRs. Add a CI
workflow with two jobs built from the project's real commands:

- web: npm ci, npx tsc --noEmit (no typecheck script exists), vitest,
  eslint, next build — scoped to web/ via working-directory.
- pipeline: pip install -r requirements.txt, pytest tests/ (190 tests,
  hermetic — render/network paths are mocked). soundfile bundles
  libsndfile in its wheel, so no apt step is needed.

House style: name CI, push+PR to main, concurrency with
cancel-in-progress, contents:read, pinned actions with dep caching.
Validated with actionlint.
@dommango
dommango merged commit 4d54544 into main Jul 17, 2026
2 checks passed
@dommango
dommango deleted the ci/github-actions branch July 17, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant