Skip to content

[TEMP - do not merge] verify astro bump builds on CI Node 20 - #71

Closed
0xd3lta wants to merge 2 commits into
mainfrom
tmp/node20-verify-deps
Closed

0xd3lta wants to merge 2 commits into
mainfrom
tmp/node20-verify-deps

Conversation

@0xd3lta

@0xd3lta 0xd3lta commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Throwaway branch: the #69 dependency bump plus the CI workflow from #70, purely to get a real Node 20 build of the bump before #69 lands. Not for merge — closing as soon as the check reports.

serros404 and others added 2 commits September 14, 2026 11:56
`npm audit fix` only — package.json is untouched, so every update resolved
inside the ranges already declared. 20 advisories down to 4.

Key bumps: astro 5.16.3 -> 5.18.2, vite 6.4.1 -> 6.4.3, postcss 8.5.6 ->
8.5.28, yaml 2.8.2 -> 2.9.1, js-yaml 4.1.1 -> 4.3.2, devalue 5.6.4 -> 5.9.2,
fast-xml-parser 5.4.1 -> 5.11.1, nanoid 3.3.11 -> 3.3.19.

The 4 remaining advisories all need astro@7 (a breaking major) and none are
reachable here:
- CRITICAL astro - XSS via `define:vars` and server-island encrypted params.
  `define:vars` appears nowhere in src/, and server islands need SSR; this
  project has no `output` or `adapter` set, so it builds as pure static.
- HIGH sharp - libvips CVEs. Build-time only, over images we author.
- LOW esbuild - dev server arbitrary file read.
- LOW @astrojs/tailwind - inherited from astro.

Going to astro 7 would also mean migrating off @astrojs/tailwind, which is
deprecated there. Not worth it for advisories that have no path into a static
build; revisit when the site needs astro 7 for its own sake.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCGof6E8MrS772HhsYZT5a
The deploy workflow only fires on push to main, so nothing built a change
before it merged — a broken build was only visible once it was already on
main, and by then the site simply stops updating.

This adds a build-only check on pull_request. No deploy step, and it does not
overlap with main.yml (push vs pull_request).

Two deliberate choices:
- node-version is pinned to "20" because that is withastro/action@v2's
  default, which is what deploy actually runs on. Matching it is the point:
  a green check here means the deploy will build on the same Node.
- npm ci rather than npm install, so a lockfile that drifted from
  package.json fails loudly instead of quietly resolving something else.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCGof6E8MrS772HhsYZT5a
@0xd3lta

0xd3lta commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Verification done: the astro 5.18.2 bump builds clean on the real CI runtime (Ubuntu, Node 20.20.2) — 31 pages + sitemap. That was the only thing #69 had not been checked against, since it was verified locally on Node 24. Throwaway branch, closing and deleting.

@0xd3lta 0xd3lta closed this Sep 14, 2026
@0xd3lta
0xd3lta deleted the tmp/node20-verify-deps branch September 14, 2026 16:30
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.

2 participants