Skip to content

[pull] main from TryGhost:main#1064

Merged
pull[bot] merged 2 commits into
code:mainfrom
TryGhost:main
Apr 15, 2026
Merged

[pull] main from TryGhost:main#1064
pull[bot] merged 2 commits into
code:mainfrom
TryGhost:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 15, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

kevinansfield and others added 2 commits April 14, 2026 18:20
no issue

Added `apps/posts` and `apps/shade` to scoped workspaces in
`.lintstagedrc.cjs` so eslint runs from within each package directory.
This fixes the pre-commit hook failing because
`eslint-plugin-tailwindcss` (via `tailwind-api-utils`) tries to require
`tailwindcss/dist/lib/setupContextUtils.js` which only exists in
Tailwind v3.

Renamed the constant from `FLAT_CONFIG_WORKSPACES` to
`SCOPED_WORKSPACES` since it now includes non-flat-config packages too.
no ref

Replaced the old `node_modules` caching strategy with pnpm's built-in
content-addressable store caching via `actions/setup-node`'s `cache:
pnpm`. Every CI job now runs a clean `pnpm install --frozen-lockfile`
against the cached store, producing a deterministic symlink tree from
scratch.

### Why sqlite3 needs `--force`

sqlite3 is an `optionalDependency` in `ghost/core/package.json`. Without
`--force`, pnpm may skip installing/linking it when restoring from a
cached store. `--force` ensures all optional dependencies are installed
regardless. This only applies to the 2 sqlite3 matrix jobs.

### Benefits

- **Deterministic installs** — every job gets a clean `node_modules`
from `pnpm install`, no symlink ambiguity
- **Better cache hit rate** — cache key is based on lockfile hash (not
lockfile + commit SHA), so cache hits across commits that don't change
dependencies
- **Simpler CI config** — removed custom restore-cache action,
install-deps.sh retry wrapper, cross-job dependency cache key passing,
and the "sleep 10 and retry" cache restore hack
- **Independent jobs** — jobs no longer depend on `job_setup` for a
shared cache key; each caches independently
@pull pull Bot locked and limited conversation to collaborators Apr 15, 2026
@pull pull Bot added the ⤵️ pull label Apr 15, 2026
@pull pull Bot merged commit 64055e7 into code:main Apr 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants