diff --git a/.claude/commands/versions.md b/.claude/commands/versions.md index 4584615..702027d 100644 --- a/.claude/commands/versions.md +++ b/.claude/commands/versions.md @@ -13,4 +13,4 @@ Steps: 6. For versions without data (N/A), keep them with dash placeholders (e.g., `NodeJS 14 | Alpine v3.12 | node14 | - | - | -`) 7. Show a summary of what was updated -Important: Only update versions 15-24 in the table, leave versions 10-14 as they are with dashes. +Important: Only update versions 15-26 in the table, leave versions 10-14 as they are with dashes. diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 02d49de..3273609 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -58,6 +58,7 @@ jobs: - item: node22 - item: node23 - item: node24 + - item: node26 # PHP - item: php56 - item: php70 diff --git a/.scripts/versions.sh b/.scripts/versions.sh index c4932a4..2701708 100755 --- a/.scripts/versions.sh +++ b/.scripts/versions.sh @@ -27,7 +27,7 @@ while [[ $# -gt 0 ]]; do done # Array of node versions to check -NODE_VERSIONS=(15 16 17 18 19 20 21 22 23 24) +NODE_VERSIONS=(15 16 17 18 19 20 21 22 23 24 26) # Detect platform PLATFORM=$(uname -m) diff --git a/Makefile b/Makefile index 700e94c..5f2c34d 100644 --- a/Makefile +++ b/Makefile @@ -56,5 +56,6 @@ build-node21: _docker-build-node21 build-node22: _docker-build-node22 build-node23: _docker-build-node23 build-node24: _docker-build-node24 +build-node26: _docker-build-node26 build-ansitest: _docker-build-ansitest diff --git a/README.md b/README.md index a26536d..7d11349 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ | PHP | OS | Tag | Dockerfile | |----------|--------------|--------|----------------------------------------------------------------------------| -| PHP 8.5 | Alpine edge | php85 | [Dockerfile](https://github.com/dockette/ci/blob/master/php85/Dockerfile) | -| PHP 8.4 | Alpine v3.22 | php84 | [Dockerfile](https://github.com/dockette/ci/blob/master/php84/Dockerfile) | -| PHP 8.3 | Alpine v3.22 | php83 | [Dockerfile](https://github.com/dockette/ci/blob/master/php83/Dockerfile) | +| PHP 8.5 | Alpine v3.24 | php85 | [Dockerfile](https://github.com/dockette/ci/blob/master/php85/Dockerfile) | +| PHP 8.4 | Alpine v3.24 | php84 | [Dockerfile](https://github.com/dockette/ci/blob/master/php84/Dockerfile) | +| PHP 8.3 | Alpine v3.24 | php83 | [Dockerfile](https://github.com/dockette/ci/blob/master/php83/Dockerfile) | | PHP 8.2 | Alpine v3.22 | php82 | [Dockerfile](https://github.com/dockette/ci/blob/master/php82/Dockerfile) | | PHP 8.1 | Alpine v3.19 | php81 | [Dockerfile](https://github.com/dockette/ci/blob/master/php81/Dockerfile) | | PHP 8.0 | Alpine v3.15 | php80 | [Dockerfile](https://github.com/dockette/ci/blob/master/php80/Dockerfile) | @@ -70,9 +70,10 @@ docker run -it --rm -v $(pwd):/srv dockette/ci:php56 | NodeJS | OS | Tag | Node Version | npm Version | pnpm Version | Dockerfile | |----------------------|--------------|--------|--------------|-------------|--------------|----------------------------------------------------------------------------| -| NodeJS 24 (v24.15.0) | Alpine v3.23 | node24 | v24.15.0 | 11.11.0 | 10.33.4 | [Dockerfile](https://github.com/dockette/ci/blob/master/node24/Dockerfile) | +| NodeJS 26 (v26.5.1) | Alpine v3.24 | node26 | v26.5.1 | 11.12.1 | 11.20.0 | [Dockerfile](https://github.com/dockette/ci/blob/master/node26/Dockerfile) | +| NodeJS 24 (v24.18.1) | Alpine v3.24 | node24 | v24.18.1 | 11.12.1 | 11.20.0 | [Dockerfile](https://github.com/dockette/ci/blob/master/node24/Dockerfile) | | NodeJS 23 (v23.11.1) | Alpine v3.22 | node23 | v23.11.1 | 11.4.2 | 10.9.0 | [Dockerfile](https://github.com/dockette/ci/blob/master/node23/Dockerfile) | -| NodeJS 22 (v22.15.1) | Alpine v3.21 | node22 | v22.15.1 | 10.9.1 | 9.15.9 | [Dockerfile](https://github.com/dockette/ci/blob/master/node22/Dockerfile) | +| NodeJS 22 (v22.23.2) | Alpine v3.21 | node22 | v22.23.2 | 10.9.1 | 9.15.9 | [Dockerfile](https://github.com/dockette/ci/blob/master/node22/Dockerfile) | | NodeJS 21 (v21.7.3) | Alpine v3.20 | node21 | v21.7.3 | 10.9.1 | 10.22.0 | [Dockerfile](https://github.com/dockette/ci/blob/master/node21/Dockerfile) | | NodeJS 20 (v20.8.1) | Alpine v3.18 | node20 | v20.8.1 | 9.6.6 | 10.22.0 | [Dockerfile](https://github.com/dockette/ci/blob/master/node20/Dockerfile) | | NodeJS 19 (v19.7.0) | Alpine v3.17 | node19 | v19.7.0 | 9.1.2 | 10.22.0 | [Dockerfile](https://github.com/dockette/ci/blob/master/node19/Dockerfile) | @@ -106,6 +107,7 @@ All Nodejs images have a few preinstalled packages: **Terminal** ``` +docker run -it --rm -v $(pwd):/srv dockette/ci:node26 docker run -it --rm -v $(pwd):/srv dockette/ci:node24 docker run -it --rm -v $(pwd):/srv dockette/ci:node23 docker run -it --rm -v $(pwd):/srv dockette/ci:node22 @@ -131,7 +133,7 @@ docker run -it --rm -v $(pwd):/srv dockette/ci:node6 | Tools | OS | Tag | Dockerfile | |--------------------------------|--------------|---------------|----------------------------------------------------------------------------| -| Ansible, Vagrant, Docker | Debian 11 | ansitest | [Dockerfile](https://github.com/dockette/ci/blob/master/ansitest/Dockerfile) | +| Ansible, Vagrant, Docker | Debian 12 | ansitest | [Dockerfile](https://github.com/dockette/ci/blob/master/ansitest/Dockerfile) | ----- diff --git a/ansitest/Dockerfile b/ansitest/Dockerfile index b069ecb..8943bfc 100644 --- a/ansitest/Dockerfile +++ b/ansitest/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:bullseye-slim +FROM debian:bookworm-slim ARG TARGETARCH @@ -20,16 +20,14 @@ RUN apt update && \ vagrant \ wget && \ # DOCKER ################################################################### - curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - && \ - add-apt-repository "deb [arch=${TARGETARCH}] https://download.docker.com/linux/debian bullseye stable" && \ + install -m 0755 -d /etc/apt/keyrings && \ + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \ + echo "deb [arch=${TARGETARCH} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list && \ apt update && \ apt install --no-install-recommends -y docker-ce docker-ce-cli containerd.io && \ # ANSIBLE ################################################################## - echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources.list.d/ansible.list && \ - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 && \ - apt update && \ apt install -y ansible && \ - pip3 install ansible-lint yamllint molecule molecule-plugins[docker] && \ + pip3 install --break-system-packages ansible-lint yamllint molecule molecule-plugins[docker] && \ ansible-galaxy collection install --collections-path /usr/lib/python3/dist-packages/ansible_collections -U \ ansible.utils \ ansible.posix \ diff --git a/node22/Dockerfile b/node22/Dockerfile index 49e2c03..feae7bc 100644 --- a/node22/Dockerfile +++ b/node22/Dockerfile @@ -1,6 +1,6 @@ FROM dockette/alpine:3.21 -ENV NODEJS_VERSION=22.15.1 +ENV NODEJS_VERSION=22.23.2 RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.21/community' >> /etc/apk/repositories && \ apk update && apk upgrade && \ diff --git a/node24/Dockerfile b/node24/Dockerfile index aa4f4d8..3ff7916 100644 --- a/node24/Dockerfile +++ b/node24/Dockerfile @@ -1,13 +1,13 @@ -FROM dockette/alpine:3.23 +FROM dockette/alpine:3.24 -ENV NODEJS_VERSION=24.15.0 +ENV NODEJS_VERSION=24.18.1 -RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.23/community' >> /etc/apk/repositories && \ +RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.24/community' >> /etc/apk/repositories && \ apk update && apk upgrade && \ # DEPENDENCIES ############################################################# apk add --update bash git ca-certificates curl openssh tzdata make direnv && \ # NODEJS ################################################################### - apk add --update nodejs-current@community npm@community pnpm@community && \ + apk add --update nodejs npm@community pnpm@community && \ # CLEAN UP ################################################################# rm -rf /var/cache/apk/* diff --git a/node26/Dockerfile b/node26/Dockerfile new file mode 100644 index 0000000..8ff9e15 --- /dev/null +++ b/node26/Dockerfile @@ -0,0 +1,14 @@ +FROM dockette/alpine:3.24 + +ENV NODEJS_VERSION=26.5.1 + +RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.24/community' >> /etc/apk/repositories && \ + apk update && apk upgrade && \ + # DEPENDENCIES ############################################################# + apk add --update bash git ca-certificates curl openssh tzdata make direnv && \ + # NODEJS ################################################################### + apk add --update nodejs-current@community npm@community pnpm@community && \ + # CLEAN UP ################################################################# + rm -rf /var/cache/apk/* + +CMD ["node"] diff --git a/php83/Dockerfile b/php83/Dockerfile index bd9d522..2521a3b 100644 --- a/php83/Dockerfile +++ b/php83/Dockerfile @@ -1,4 +1,4 @@ -FROM dockette/alpine:3.22 +FROM dockette/alpine:3.24 LABEL maintainer="Milan Sulc " @@ -13,7 +13,7 @@ ENV COMPOSER_BIN=$COMPOSER_DIR/composer ENV TZ=Europe/Prague ENV LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" -RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.22/community/' >> /etc/apk/repositories && \ +RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.24/community/' >> /etc/apk/repositories && \ # DEPENDENCIES ############################################################# apk update && \ apk upgrade && \ @@ -82,6 +82,7 @@ RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.22/community/' >> / sed -i -- 's/zend/;zend/g' /etc/php83/conf.d/50_xdebug.ini && \ echo "php -dzend_extension=xdebug.so \$@" >> $PHPXD_BIN && \ chmod +x $PHPXD_BIN && \ + ln -sf $PHP8_BIN $PHP_BIN && \ # COMPOSER ################################################################# curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ # CLEAN UP ################################################################# diff --git a/php84/Dockerfile b/php84/Dockerfile index 080e37f..ae6d602 100644 --- a/php84/Dockerfile +++ b/php84/Dockerfile @@ -1,4 +1,4 @@ -FROM dockette/alpine:3.22 +FROM dockette/alpine:3.24 LABEL maintainer="Milan Sulc " @@ -13,7 +13,7 @@ ENV COMPOSER_BIN=$COMPOSER_DIR/composer ENV TZ=Europe/Prague ENV LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" -RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.22/community/' >> /etc/apk/repositories && \ +RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.24/community/' >> /etc/apk/repositories && \ # DEPENDENCIES ############################################################# apk update && \ apk upgrade && \ @@ -82,7 +82,7 @@ RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.22/community/' >> / sed -i -- 's/zend/;zend/g' /etc/php84/conf.d/50_xdebug.ini && \ echo "php -dzend_extension=xdebug.so \$@" >> $PHPXD_BIN && \ chmod +x $PHPXD_BIN && \ - ln -s $PHP8_BIN $PHP_BIN && \ + ln -sf $PHP8_BIN $PHP_BIN && \ # COMPOSER ################################################################# curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ # CLEAN UP ################################################################# diff --git a/php85/Dockerfile b/php85/Dockerfile index ef7ae68..9cf8cea 100644 --- a/php85/Dockerfile +++ b/php85/Dockerfile @@ -1,4 +1,4 @@ -FROM dockette/alpine:edge +FROM dockette/alpine:3.24 LABEL maintainer="Milan Sulc " @@ -13,7 +13,7 @@ ENV COMPOSER_BIN=$COMPOSER_DIR/composer ENV TZ=Europe/Prague ENV LD_PRELOAD="/usr/lib/preloadable_libiconv.so php" -RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/edge/community/' >> /etc/apk/repositories && \ +RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/v3.24/community/' >> /etc/apk/repositories && \ # DEPENDENCIES ############################################################# apk update && \ apk upgrade && \ @@ -82,7 +82,7 @@ RUN echo '@community http://dl-cdn.alpinelinux.org/alpine/edge/community/' >> /e sed -i -- 's/zend/;zend/g' /etc/php85/conf.d/50_xdebug.ini && \ echo "php -dzend_extension=xdebug.so \$@" >> $PHPXD_BIN && \ chmod +x $PHPXD_BIN && \ - ln -s $PHP8_BIN $PHP_BIN && \ + ln -sf $PHP8_BIN $PHP_BIN && \ # COMPOSER ################################################################# curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \ # CLEAN UP #################################################################