Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
60c9c52
updates yq 4.45.1 => 4.45.3
shelane May 9, 2025
cbdd85e
updates wp cli 2.11.0 => 2.12.0
shelane May 9, 2025
04ab1a0
updates terminus for 8.2-8.4 to 4.0.0
shelane May 9, 2025
d08682c
updates yq 4.45.3 => 4.45.4
shelane May 12, 2025
cb553d6
updates composer 2.8.8 => 2.8.9
shelane May 16, 2025
f689a63
updates terminus 4.0.0 => 4.0.1
shelane May 20, 2025
1d4b139
updates acli 2.41.1 => 2.42.0
shelane May 28, 2025
fb35eee
updates jq 1.7.1 => 1.8.0
shelane Jun 2, 2025
346aabe
updates jq 1.8.0 => 1.8.1
shelane Jul 9, 2025
f9fd59f
updates acli 2.42.0 => 2.43.0
shelane Jul 9, 2025
f62f84c
updates composer 2.8.9 => 2.8.10
shelane Jul 15, 2025
aa2454d
updates yq 4.45.4 => 4.16.1
shelane Jul 15, 2025
37d034b
updates acli 2.43.0 => 2.44.1
shelane Jul 19, 2025
4709f51
updates yq 4.46.1 => 4.47.1
shelane Jul 24, 2025
af0aeeb
updates acli 2.44.1 => 2.44.2
shelane Jul 26, 2025
3081a12
updates acli 2.44.2 => 2.45.0
shelane Aug 11, 2025
93eaa30
updates acli 2.45.0 => 2.46.0
shelane Aug 17, 2025
07bf581
updates composer 2.8.10 => 2.8.11
shelane Aug 21, 2025
fa5072b
updates acli 2.46.0 => 2.47.0
shelane Sep 3, 2025
83aa9f8
updates yq 4.47.1 => 4.47.2
shelane Sep 10, 2025
4477a08
updates terminus 4.0.1 => 4.0.2
shelane Sep 10, 2025
399d7aa
updates acli 2.47.0 => 2.48.0
shelane Sep 12, 2025
1d00a48
updates terminus 4.0.2 => 4.0.3
shelane Sep 12, 2025
de61e5e
updates composer 2.8.11 => 2.8.12
shelane Sep 23, 2025
3fa6449
updates acli 2.48.0 => 2.49.0
shelane Sep 24, 2025
63ded70
Update terminus 4.03 => 4.1.0
lmakarov Oct 13, 2025
9159475
Update PHP versions in Dockerfiles for 8.1, 8.2, 8.3, and 8.4
lmakarov Oct 13, 2025
b339aac
Merge pull request #338 from docksal/feature/version-bumps
lmakarov Oct 13, 2025
4be2812
Update platformsh-cli 5.0.23 => 5.6.0
lmakarov Oct 13, 2025
4d62ece
Update yq 4.47.2 => 4.48.1
lmakarov Oct 13, 2025
62d0f8c
Update node (22.14.0 => 22.20.0) and nvm (0.40.2 => 0.40.3)
lmakarov Oct 13, 2025
7623351
Update code-server and plugins
lmakarov Oct 13, 2025
d844fce
Relax tool version grep checks
lmakarov Oct 13, 2025
211bbec
Fix test always succeeding locally (macOS)
lmakarov Oct 13, 2025
76c21a1
Merge pull request #339 from docksal/feature/version-bumps
lmakarov Oct 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions 8.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM php:8.1.32-fpm-bookworm AS cli
FROM php:8.1.33-fpm-bookworm AS cli

ARG TARGETARCH
ARG DEBIAN_FRONTEND=noninteractive
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1

Check warning on line 5 in 8.1/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.1/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 5 in 8.1/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.1/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

# Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/)
RUN set -xe; \
Expand Down Expand Up @@ -157,15 +157,16 @@
ENV \
COMPOSER_DEFAULT_VERSION=2 \
COMPOSER_VERSION=1.10.27 \
COMPOSER2_VERSION=2.8.8 \
COMPOSER2_VERSION=2.8.12 \
DRUSH_VERSION=8.4.12 \
DRUPAL_CONSOLE_LAUNCHER_VERSION=1.9.7 \
WPCLI_VERSION=2.11.0 \
PLATFORMSH_CLI_VERSION=5.0.23 \
ACQUIA_CLI_VERSION=2.41.1 \
WPCLI_VERSION=2.12.0 \
PLATFORMSH_CLI_VERSION=5.6.0 \
ACQUIA_CLI_VERSION=2.49.0 \
# Pin Terminus 3.6.2 for PHP 8.1
TERMINUS_VERSION=3.6.2 \
JQ_VERSION=1.7.1 \
YQ_VERSION=4.45.1
JQ_VERSION=1.8.1 \
YQ_VERSION=4.48.1
RUN set -xe; \
# Composer 1.x
curl -fsSL "https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar" -o /usr/local/bin/composer1; \
Expand Down Expand Up @@ -252,8 +253,8 @@

# Node.js (installed as user)
ENV \
NVM_VERSION=0.40.2 \
NODE_VERSION=22.14.0 \
NVM_VERSION=0.40.3 \
NODE_VERSION=22.20.0 \
# Yarn (Classic v1)
# https://github.com/yarnpkg/yarn/releases
YARN_VERSION=1.22.22
Expand Down Expand Up @@ -301,7 +302,7 @@
COPY config/php/opcache.ini /opt/docker-php-ext-opcache.ini
COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf

ENV \

Check warning on line 305 in 8.1/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.1/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 305 in 8.1/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.1/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
# ssh-agent proxy socket (requires docksal/ssh-agent)
SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \
# Set TERM so text editors/etc. can be used
Expand Down Expand Up @@ -344,9 +345,9 @@
ARG HOME=/home/docker

ENV \
CODE_SERVER_VERSION=4.99.3 \
VSCODE_GITLENS_VERSION=17.0.3 \
VSCODE_XDEBUG_VERSION=1.36.0 \
CODE_SERVER_VERSION=4.104.3 \
VSCODE_GITLENS_VERSION=17.6.1 \
VSCODE_XDEBUG_VERSION=1.37.0 \
VSCODE_HOME="${HOME}/code-server"

# Install code-server
Expand Down
26 changes: 13 additions & 13 deletions 8.2/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM php:8.2.28-fpm-bookworm AS cli
FROM php:8.2.29-fpm-bookworm AS cli

ARG TARGETARCH
ARG DEBIAN_FRONTEND=noninteractive
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1

Check warning on line 5 in 8.2/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.2/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 5 in 8.2/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.2/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

# Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/)
RUN set -xe; \
Expand Down Expand Up @@ -158,15 +158,15 @@
ENV \
COMPOSER_DEFAULT_VERSION=2 \
COMPOSER_VERSION=1.10.27 \
COMPOSER2_VERSION=2.8.8 \
COMPOSER2_VERSION=2.8.12 \
DRUSH_VERSION=8.4.12 \
DRUPAL_CONSOLE_LAUNCHER_VERSION=1.9.7 \
WPCLI_VERSION=2.11.0 \
PLATFORMSH_CLI_VERSION=5.0.23 \
ACQUIA_CLI_VERSION=2.41.1 \
TERMINUS_VERSION=3.6.2 \
JQ_VERSION=1.7.1 \
YQ_VERSION=4.45.1
WPCLI_VERSION=2.12.0 \
PLATFORMSH_CLI_VERSION=5.6.0 \
ACQUIA_CLI_VERSION=2.49.0 \
TERMINUS_VERSION=4.1.0 \
JQ_VERSION=1.8.1 \
YQ_VERSION=4.48.1
RUN set -xe; \
# Composer 1.x
curl -fsSL "https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar" -o /usr/local/bin/composer1; \
Expand Down Expand Up @@ -253,8 +253,8 @@

# Node.js (installed as user)
ENV \
NVM_VERSION=0.40.2 \
NODE_VERSION=22.14.0 \
NVM_VERSION=0.40.3 \
NODE_VERSION=22.20.0 \
# Yarn (Classic v1)
# https://github.com/yarnpkg/yarn/releases
YARN_VERSION=1.22.22
Expand Down Expand Up @@ -302,7 +302,7 @@
COPY config/php/opcache.ini /opt/docker-php-ext-opcache.ini
COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf

ENV \

Check warning on line 305 in 8.2/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.2/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 305 in 8.2/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.2/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
# ssh-agent proxy socket (requires docksal/ssh-agent)
SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \
# Set TERM so text editors/etc. can be used
Expand Down Expand Up @@ -345,9 +345,9 @@
ARG HOME=/home/docker

ENV \
CODE_SERVER_VERSION=4.99.3 \
VSCODE_GITLENS_VERSION=17.0.3 \
VSCODE_XDEBUG_VERSION=1.36.0 \
CODE_SERVER_VERSION=4.104.3 \
VSCODE_GITLENS_VERSION=17.6.1 \
VSCODE_XDEBUG_VERSION=1.37.0 \
VSCODE_HOME="${HOME}/code-server"

# Install code-server
Expand Down
26 changes: 13 additions & 13 deletions 8.3/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM php:8.3.20-fpm-bookworm AS cli
FROM php:8.3.26-fpm-bookworm AS cli

ARG TARGETARCH
ARG DEBIAN_FRONTEND=noninteractive
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1

Check warning on line 5 in 8.3/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.3/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 5 in 8.3/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.3/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

# Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/)
RUN set -xe; \
Expand Down Expand Up @@ -158,15 +158,15 @@
ENV \
COMPOSER_DEFAULT_VERSION=2 \
COMPOSER_VERSION=1.10.27 \
COMPOSER2_VERSION=2.8.8 \
COMPOSER2_VERSION=2.8.12 \
DRUSH_VERSION=8.4.12 \
DRUPAL_CONSOLE_LAUNCHER_VERSION=1.9.7 \
WPCLI_VERSION=2.11.0 \
PLATFORMSH_CLI_VERSION=5.0.23 \
ACQUIA_CLI_VERSION=2.41.1 \
TERMINUS_VERSION=3.6.2 \
JQ_VERSION=1.7.1 \
YQ_VERSION=4.45.1
WPCLI_VERSION=2.12.0 \
PLATFORMSH_CLI_VERSION=5.6.0 \
ACQUIA_CLI_VERSION=2.49.0 \
TERMINUS_VERSION=4.1.0 \
JQ_VERSION=1.8.1 \
YQ_VERSION=4.48.1
RUN set -xe; \
# Composer 1.x
curl -fsSL "https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar" -o /usr/local/bin/composer1; \
Expand Down Expand Up @@ -253,8 +253,8 @@

# Node.js (installed as user)
ENV \
NVM_VERSION=0.40.2 \
NODE_VERSION=22.14.0 \
NVM_VERSION=0.40.3 \
NODE_VERSION=22.20.0 \
# Yarn (Classic v1)
# https://github.com/yarnpkg/yarn/releases
YARN_VERSION=1.22.22
Expand Down Expand Up @@ -302,7 +302,7 @@
COPY config/php/opcache.ini /opt/docker-php-ext-opcache.ini
COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf

ENV \

Check warning on line 305 in 8.3/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.3/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 305 in 8.3/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.3/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
# ssh-agent proxy socket (requires docksal/ssh-agent)
SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \
# Set TERM so text editors/etc. can be used
Expand Down Expand Up @@ -345,9 +345,9 @@
ARG HOME=/home/docker

ENV \
CODE_SERVER_VERSION=4.99.3 \
VSCODE_GITLENS_VERSION=17.0.3 \
VSCODE_XDEBUG_VERSION=1.36.0 \
CODE_SERVER_VERSION=4.104.3 \
VSCODE_GITLENS_VERSION=17.6.1 \
VSCODE_XDEBUG_VERSION=1.37.0 \
VSCODE_HOME="${HOME}/code-server"

# Install code-server
Expand Down
27 changes: 13 additions & 14 deletions 8.4/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM php:8.4.6-fpm-bookworm AS cli
FROM php:8.4.13-fpm-bookworm AS cli

ARG TARGETARCH
ARG DEBIAN_FRONTEND=noninteractive
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1

Check warning on line 5 in 8.4/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.4/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 5 in 8.4/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.4/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ARG "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

# Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/)
RUN set -xe; \
Expand Down Expand Up @@ -158,16 +158,15 @@
ENV \
COMPOSER_DEFAULT_VERSION=2 \
COMPOSER_VERSION=1.10.27 \
COMPOSER2_VERSION=2.8.8 \
COMPOSER2_VERSION=2.8.12 \
DRUSH_VERSION=8.4.12 \
DRUPAL_CONSOLE_LAUNCHER_VERSION=1.9.7 \
WPCLI_VERSION=2.11.0 \
PLATFORMSH_CLI_VERSION=5.0.23 \
ACQUIA_CLI_VERSION=2.41.1 \
# pantheon-systems/terminus added PHP 8.4 support in 4.0.0-alpha1
TERMINUS_VERSION=4.0.0-alpha2 \
JQ_VERSION=1.7.1 \
YQ_VERSION=4.45.1
WPCLI_VERSION=2.12.0 \
PLATFORMSH_CLI_VERSION=5.6.0 \
ACQUIA_CLI_VERSION=2.49.0 \
TERMINUS_VERSION=4.1.0 \
JQ_VERSION=1.8.1 \
YQ_VERSION=4.48.1
RUN set -xe; \
# Composer 1.x
curl -fsSL "https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar" -o /usr/local/bin/composer1; \
Expand Down Expand Up @@ -254,8 +253,8 @@

# Node.js (installed as user)
ENV \
NVM_VERSION=0.40.2 \
NODE_VERSION=22.14.0 \
NVM_VERSION=0.40.3 \
NODE_VERSION=22.20.0 \
# Yarn (Classic v1)
# https://github.com/yarnpkg/yarn/releases
YARN_VERSION=1.22.22
Expand Down Expand Up @@ -303,7 +302,7 @@
COPY config/php/opcache.ini /opt/docker-php-ext-opcache.ini
COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf

ENV \

Check warning on line 305 in 8.4/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.4/amd64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 305 in 8.4/Dockerfile

View workflow job for this annotation

GitHub Actions / Build: 8.4/arm64

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "SSH_AUTH_SOCK") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
# ssh-agent proxy socket (requires docksal/ssh-agent)
SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \
# Set TERM so text editors/etc. can be used
Expand Down Expand Up @@ -346,9 +345,9 @@
ARG HOME=/home/docker

ENV \
CODE_SERVER_VERSION=4.99.3 \
VSCODE_GITLENS_VERSION=17.0.3 \
VSCODE_XDEBUG_VERSION=1.36.0 \
CODE_SERVER_VERSION=4.104.3 \
VSCODE_GITLENS_VERSION=17.6.1 \
VSCODE_XDEBUG_VERSION=1.37.0 \
VSCODE_HOME="${HOME}/code-server"

# Install code-server
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ cli
## NodeJS

- nvm
- node v22.14.0 LTS (following NodeJS LTS release cycle)
- node v22.20.0 LTS (following NodeJS LTS release cycle)
- yarn (classic v1)

NodeJS is installed via `nvm` in the `docker` user's profile inside the image (`/home/docker/.nvm`).
Expand Down
55 changes: 27 additions & 28 deletions tests/test.bats
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ _healthcheck_wait ()

# Check all binaries in a single shot
run make exec -e CMD="type $(echo ${binaries} | xargs)"
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
unset output

### Cleanup ###
Expand Down Expand Up @@ -192,44 +192,43 @@ _healthcheck_wait ()
### Tests ###

# Check Composer v1 version (legacy)
run docker exec -u docker "$NAME" bash -lc 'set -x; composer1 --version | grep "^Composer version ${COMPOSER_VERSION} "'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; composer1 --version | grep "${COMPOSER_VERSION}"'
[ "$status" -eq 0 ]
unset output

# Check Composer v2 version (default)
run docker exec -u docker "$NAME" bash -lc 'set -x; composer --version | grep "^Composer version ${COMPOSER2_VERSION} "'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; composer --version | grep "${COMPOSER2_VERSION}"'
[ "$status" -eq 0 ]
unset output

# Check Drush 8 version (legacy)
run docker exec -u docker "$NAME" bash -lc 'set -x; drush8 --version | grep "^ Drush Version : ${DRUSH_VERSION} $"'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; drush8 --version | grep "${DRUSH_VERSION}"'
[ "$status" -eq 0 ]
unset output

# Check Drupal Console version
run docker exec -u docker "$NAME" bash -lc 'set -x; drupal --version | grep "^Drupal Console Launcher ${DRUPAL_CONSOLE_LAUNCHER_VERSION}$"'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; drupal --version | grep "${DRUPAL_CONSOLE_LAUNCHER_VERSION}"'
[ "$status" -eq 0 ]
unset output

# Check Wordpress CLI version
run docker exec -u docker "$NAME" bash -lc 'set -x; wp --version | grep "^WP-CLI ${WPCLI_VERSION}$"'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; wp --version | grep "${WPCLI_VERSION}"'
[ "$status" -eq 0 ]
unset output

# Check Terminus version
# --no-ansi is used to strip color codes from the output, otherwise the grep will fail
run docker exec -u docker "$NAME" bash -lc 'set -x; terminus --no-ansi --version | grep "^Terminus ${TERMINUS_VERSION}$"'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; terminus --version | grep "${TERMINUS_VERSION}"'
[ "$status" -eq 0 ]
unset output

# Check Platform CLI version
run docker exec -u docker "$NAME" bash -lc 'set -x; platform --version | grep "Platform.sh CLI ${PLATFORMSH_CLI_VERSION}"'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; platform --version | grep "${PLATFORMSH_CLI_VERSION}"'
[ "$status" -eq 0 ]
unset output

# Check Acquia CLI version
run docker exec -u docker "$NAME" bash -lc 'set -x; acli --version | grep "^Acquia CLI ${ACQUIA_CLI_VERSION}"'
[[ ${status} == 0 ]]
run docker exec -u docker "$NAME" bash -lc 'set -x; acli --version | grep "${ACQUIA_CLI_VERSION}"'
[ "$status" -eq 0 ]
unset output

### Cleanup ###
Expand All @@ -249,27 +248,27 @@ _healthcheck_wait ()

# nvm
run docker exec -u docker "$NAME" bash -lc 'nvm --version | grep "${NVM_VERSION}"'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
unset output

# nodejs
run docker exec -u docker "$NAME" bash -lc 'node --version | grep "${NODE_VERSION}"'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
unset output

# yarn
run docker exec -u docker "$NAME" bash -lc 'yarn --version | grep "${YARN_VERSION}"'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
unset output

# Stock Ruby version in Debian 12 is 3.1.x
run docker exec -u docker "$NAME" bash -lc 'ruby --version | grep "ruby 3.1"'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
unset output

# Stock Python version in Debian 12 is 3.11.x
run docker exec -u docker "$NAME" bash -lc 'python3 --version 2>&1 | grep "Python 3.11"'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
unset output

# Check msmtp
Expand Down Expand Up @@ -304,7 +303,7 @@ _healthcheck_wait ()
unset output
# TODO: figure out how to properly use 'make exec' here (escape quotes)
run docker exec -u docker "${NAME}" bash -lc 'echo "${SECRET_SSH_PRIVATE_KEY}" | base64 -d | diff ${HOME}/.ssh/id_rsa -'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
unset output

### Cleanup ###
Expand All @@ -327,7 +326,7 @@ _healthcheck_wait ()
sleep 2

run docker exec -u docker "${NAME}" cat /tmp/test-startup.txt
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
[[ "${output}" =~ "I ran properly" ]]

### Cleanup ###
Expand Down Expand Up @@ -360,7 +359,7 @@ _healthcheck_wait ()

# Confirm authentication works
run docker exec -u docker "${NAME}" bash -lc 'platform auth:info --no-interaction'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
[[ ! "${output}" =~ "Invalid API token" ]]
[[ "${output}" =~ "developer@docksal.io" ]]
unset output
Expand Down Expand Up @@ -404,15 +403,15 @@ _healthcheck_wait ()

# Confirm we are logged in with the expected user
run docker exec -u docker "${NAME}" bash -lc 'terminus site:list'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
[[ ! "${output}" =~ "You are not logged in." ]]
unset output

# Confirm we are logged in with the expected user
# terminus auth:whoami is finicky/buggy and needs another command to run to create a session first.
# See https://github.com/docksal/service-cli/issues/258
run docker exec -u docker "${NAME}" bash -lc 'terminus auth:whoami'
[[ ${status} == 0 ]]
[ "$status" -eq 0 ]
[[ ! "${output}" =~ "You are not logged in." ]]
[[ "${output}" =~ "developer@docksal.io" ]]
unset output
Expand Down
Loading