Skip to content

Harden CI for new workspace packages#778

Open
necolas wants to merge 2 commits into
mainfrom
nicolas/ci-fixes
Open

Harden CI for new workspace packages#778
necolas wants to merge 2 commits into
mainfrom
nicolas/ci-fixes

Conversation

@necolas
Copy link
Copy Markdown
Contributor

@necolas necolas commented Jun 4, 2026

Two CI fixes prompted by @pierre/theme-kit (a new workspace package) breaking lint, typecheck, and builds.

Cover all packages in CI, not a hardcoded list.

  • Build artifact now uploads packages/*/dist/ instead of an enumerated subset, so new packages' built types reach the lint/typecheck jobs (theme-kit was missing → types resolved to any).
  • Test job runs every package via bun ws "packages/*" test --sequential instead of a hand-listed three, so new packages' tests actually run. --sequential keeps the log ordered and readable; @pierre/truncate (no test files yet) uses --pass-with-no-tests.

Single source of truth for the Bun version

  • Extracted the repeated Setup Bun + cache + install steps into a local composite action (.github/actions/setup) that reads the version from .prototools — the same pin proto and assert-bun-version use. Per-job pins had already drifted (1.3.12/1.3.8 vs. the pinned 1.3.14).
  • Every job now drops to checkout + uses: ./.github/actions/setup; new jobs get the same cached-deps fast path for free.

necolas added 2 commits June 4, 2026 16:14
The build-output artifact and the test job hard-coded package names, so
newly added workspace packages were silently excluded from CI:

- The artifact listed specific dist dirs and omitted other packages.
  The lint and typecheck jobs need to download those artifacts.
- The test job ran only diffs, trees, and path-store, other package tests
  never ran.

Use `packages/*` globs so any new package is picked up automatically.
Run in sequence so CI output is short and readable.
Every job duplicated the Setup Bun + cache + install steps, and the pinned
Bun version was repeated per job — the copies had already drifted (1.3.12 for
build, 1.3.8 elsewhere) from the 1.3.14 pinned in .prototools.

Extract the three steps into a local composite action (.github/actions/setup)
that reads the Bun version straight from .prototools, giving the toolchain
version a single source of truth shared by proto locally, assert-bun-version
on publish, and now every CI job. Each job drops to a checkout plus one
`uses: ./.github/actions/setup`, and new jobs get the same cached-deps fast
path for free.
@necolas necolas requested a review from SlexAxton June 4, 2026 23:20
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pierre-docs-diffs Ready Ready Preview Jun 4, 2026 11:20pm
pierre-docs-diffshub Ready Ready Preview Jun 4, 2026 11:20pm
pierre-docs-trees Ready Ready Preview Jun 4, 2026 11:20pm
pierrejs-diff-demo Ready Ready Preview Jun 4, 2026 11:20pm

Request Review

@necolas necolas requested a review from amadeus June 4, 2026 23:21
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 10b61f3e8c

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread .github/workflows/ci.yml
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