diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5da4834..0f03bbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,8 +16,8 @@ jobs: max-parallel: 1 matrix: php: - - 8.1 - - 8.2 + - '8.1' + - '8.2.35' dependencies: - locked - lowest @@ -29,7 +29,7 @@ jobs: fetch-depth: 1 - uses: actions/setup-node@v6 with: - node-version: '20' + node-version: '22.23.4' - name: Install tsx run: npm install -g tsx - uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2 diff --git a/Dockerfile b/Dockerfile index 56e5f58..16f7bf6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ # syntax=docker/dockerfile:1 -FROM php:8.3-cli AS base +FROM node:22.23.4-bookworm-slim AS node +FROM php:8.3.36-cli AS base ENV COMPOSER_ALLOW_SUPERUSER=1 @@ -18,10 +19,11 @@ RUN apt-get update \ COPY --from=composer:2 /usr/bin/composer /usr/bin/composer -# Install Node.js (for transloadit CLI parity checks) -RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ - && apt-get install -y --no-install-recommends nodejs \ - && npm install -g npm@latest \ - && rm -rf /var/lib/apt/lists/* +# Pin parity tooling to the patched official Node runtime. +COPY --from=node /usr/local/bin/node /usr/local/bin/node +COPY --from=node /usr/local/lib/node_modules/npm /usr/local/lib/node_modules/npm +RUN ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \ + && ln -s ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx \ + && npm install -g npm@latest WORKDIR /workspace