ci: add phase-1 GitHub Actions workflow (per-app matrix) - #77
Conversation
The repo had no CI. Adds a workflow running on push/PR to main that, per sample app, installs deps and runs lint/build (Next.js apps) or byte-compiles the FastAPI backend (shop-the-look). Matrix covers the mixed package managers (npm + pnpm) and the client/server split in namespace-notes. Jobs are non-blocking (continue-on-error) in this first phase because some apps have known-broken installs (e.g. legal-semantic-search `file:` deps, namespace-notes stale `install:all` path) tracked in #73 and SDK drift in #74. Flipping the matrix to a required gate is tracked in #71 and depends on that cleanup. Token scoped contents: read (least privilege). Part of #71. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
PR Feedback Autofix pass The workflow itself is correct — the two red matrix cells are pre-existing app breakage the matrix is designed to catch (as the header comment intends), not defects in this PR:
Both are real per-app remediation (dependency graph / committed tsconfig), out of scope for adding the workflow, so I filed #81 to track the fixes rather than scope-creep this PR. Decision needed from you: for phase-1, do you want these two cells REQUIRED (PR stays red until #81 lands) or marked |
|
Closing as superseded by #80 ( Both PRs create No unique value left here. The follow-ups this PR referenced (#71/#73/#74) remain the right place to track flipping apps to a required gate. Closing to keep the worklist clean. |
What
Adds a CI workflow (
.github/workflows/ci.yml) — the repo previously had no CI.On push/PR to
main(and manual dispatch), a matrix runs per sample app:legal-semantic-search,pinecone-assistant[pnpm],shop-the-look) — install +lint+buildclientandserver(via their real paths)pip install -r requirements.txt+compileall apiHandles the mixed package managers (npm + pnpm) and the client/server split. Token scoped
contents: read.Why / phase 1
This is a phase-1, informational CI: every job is
continue-on-error, so it reports per-app status without blockingmain. That's deliberate — several apps currently can't install/build cleanly:legal-semantic-searchhas brokenfile:deps (→ Dependency & lockfile hygiene: clear medium/low Dependabot, regenerate lockfiles, fix broken/unpinned deps #73)namespace-notes's owninstall:allscript targets a staleserver/nodepath (→ Dependency & lockfile hygiene: clear medium/low Dependabot, regenerate lockfiles, fix broken/unpinned deps #73); the workflow sidesteps it by installing the real dirsFlipping this matrix to a required gate is tracked in #71 and depends on #73/#74 landing. This PR establishes the CI surface and makes the current per-app failures visible in Actions.
Verification
YAML validated locally. Once merged (or via the PR run), the Actions tab shows per-app pass/fail — the intended signal.
Part of #71 (parent sweep #76).
🤖 Generated with Claude Code