Skip to content

Commit fa29e00

Browse files
committed
fix: Changes Docker image dependency and target PHP versions
- Changes the base PHP image to be the Forum One php-cli image. - Updates the image to no use `bookworm` instead of `bullseye`. - Updates the `Dockerfile` to reduce build times and image sizes. - Drops on-going support for PHP 8.0. - Drops on-going support for NodeJS 14. - Adds support for NodeJS 24. - Drops no longer supported Python 2.
1 parent 4b20b91 commit fa29e00

File tree

4 files changed

+40
-24
lines changed

4 files changed

+40
-24
lines changed

.buildkite/pipeline.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,15 @@ definitions:
1010
matrix: &matrix
1111
setup:
1212
php:
13-
- "8.3"
14-
- "8.2"
1513
- "8.1"
16-
- "8.0"
14+
- "8.2"
15+
- "8.3"
1716
node:
18-
- "22"
19-
- "20"
20-
- "18"
2117
- "16"
22-
- "14"
18+
- "18"
19+
- "20"
20+
- "22"
21+
- "24"
2322

2423
agents-amd64: &agents-amd64
2524
queue: docker-builders

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
06/02/2025
2+
----------
3+
- Changes the base PHP image to be the Forum One php-cli image.
4+
- Updates the image to no use `bookworm` instead of `bullseye`.
5+
- Updates the `Dockerfile` to reduce build times and image sizes.
6+
- Drops on-going support for PHP 8.0.
7+
- Drops on-going support for NodeJS 14.
8+
- Adds support for NodeJS 24.
9+
- Drops no longer supported Python 2.
10+
11+
01/28/2025
12+
----------
13+
* Added `node 22`
14+
115
03/19/2024
216
----------
317
* Removed pacakage: `python2`

Dockerfile

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,38 @@
11
ARG NODE_VERSION
22
ARG PHP_VERSION
33

4-
FROM node:${NODE_VERSION}-bullseye as nodeJs
4+
FROM node:${NODE_VERSION}-bookworm as nodeJs
55

66
USER root
77

88
RUN chown -R root:root /opt
99

10-
FROM php:${PHP_VERSION}-cli-bullseye
10+
FROM public.ecr.aws/forumone/php-cli:${PHP_VERSION}
1111

12-
## This is needed forhte time being since node module: fiber is being used in gesso
12+
## This is needed for the time being since node module: fiber is being used in gesso
1313
## https://github.com/forumone/gesso/issues/626
14-
#
15-
RUN apt update
16-
RUN apt install -y python3 python2
17-
18-
19-
# Instead of building node from source, just pulling a compiled version already
14+
# Base persistent dependencies
15+
RUN set -eux \
16+
&& apt-get update \
17+
&& apt-get install -y --no-install-recommends \
18+
python3 \
19+
&& rm -rf /var/lib/apt/lists/*
20+
21+
# Instead of building NodeKS from source, just pulling a compiled version already.
2022
COPY --from=nodeJs /usr/local/bin/node /usr/local/bin/node
2123
COPY --from=nodeJs /usr/local/lib/node_modules /usr/local/lib/node_modules
2224
COPY --from=nodeJs /opt /opt
2325

24-
# Making the correct symlinks needed for node
25-
RUN ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
26-
RUN ln -s ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
27-
RUN ln -s /opt/*/bin/yarn /usr/local/bin/yarn
28-
RUN ln -s /opt/*/bin/yarnpkg /usr/local/bin/yarnpkg
26+
# Making the correct symlinks needed for NodeJS.
27+
RUN set -eux \
28+
&& ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
29+
&& ln -s ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx \
30+
&& ln -s /opt/*/bin/yarn /usr/local/bin/yarn \
31+
&& ln -s /opt/*/bin/yarnpkg /usr/local/bin/yarnpkg
2932

33+
# Install required global NPM packages.
3034
RUN npm i -g envinfo gulp-cli pm2
3135

32-
3336
# Default working directory to /app - this gives folks a predicable location for builds
3437
# and artifacts.
3538
WORKDIR /app

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ This image is intended to be used as a base for building [Gesso](https://github.
44

55
## Tags
66

7-
* Supported Node.js versions: 22, 20, 18, 16, 14
8-
* Supported PHP versions: 8.3, 8.2, 8.1, 8.0
7+
* Supported Node.js versions: 24, 22, 20, 18, 16, 14
8+
* Supported PHP versions: 8.3, 8.2, 8.1
99

1010
These components are used to derive the image tag thusly:
1111

0 commit comments

Comments
 (0)