Repository navigation
ci: ship an empty literal test matrix that pgpm init fills in - #56
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Review complete. 🟠 1 high 📍 Findings outside the diff (1) — 🟠 1 high — defects on lines GitHub can't attach comments to🟠 High — Empty matrix silently skips the test job The This PR introduces CI test workflows for both the pgpm and pnpm workspaces, discovering packages and running tests via a GitHub Actions matrix job. Both workflows are essentially parallel additions that share the same matrix-driving structure.
The workflow relies on a dynamic matrix built at runtime; if package discovery yields an empty set, the matrix job silently runs with no entries and the workflow passes with false-green signal. This is the highest-risk aspect of the change. Reviewed commit: ccc1329 |
Summary
Replaces the placeholder matrix in both workspace templates with a literal array that
pgpm initmaintains (constructive-io/constructive#1845), instead of the CI-timepgpm lsdiscovery from #53 (reverted in #55). The matrix stays a plain YAML list you can hand-edit.Entries are workspace-relative paths (
packages/my-module), so modules outsidepackages/work too — eachpgpm initinsertspackages/<name>sorted, in place, preserving the comment.Caveat (noted in the file): GitHub rejects an empty literal matrix, so a workspace with zero modules has an invalid
ci.ymluntil its firstpgpm init.pgpm init -w(workspace + module) yields a valid workflow immediately. Requires a pgpm release containing constructive#1845 for the auto-fill; older pgpm leaves the array for you to edit by hand.Scope is the matrix only; the other cleanups from #53 (PGPM_VERSION pin, README path, lint/lint:fix,
git add -A, smoke workflow, pnpm-policypackages:) are not re-landed here.Link to Devin session: https://app.devin.ai/sessions/dd4055c50bcf4b1e8e604211038aaa82
Open in Devin Desktop: https://app.devin.ai/desktop/session/dd4055c50bcf4b1e8e604211038aaa82?variant=devin
Requested by: @pyramation