pnpm/action-setup's self-installer fails on Node 24 ("Running
self-installer..." exits 1), breaking both workflows. Use corepack
instead, which picks up the pnpm version from the packageManager field
and matches how the Dockerfile installs it.
Also move upload-artifact to v4, since v3 is retired.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
sharp 0.35.5 requires Node >=20.9.0, so the node:18-alpine image failed
to load the linuxmusl-arm64 binary and the production build broke.
Move the image and both CI workflows to Node 24 (current Active LTS),
raise the engines floor to the version sharp actually needs, and declare
packageManager to silence the corepack warning.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>