From 42a359570441918ad91c19c83de60fa3c8ce1342 Mon Sep 17 00:00:00 2001 From: Thomas Arrow Date: Mon, 15 Dec 2025 17:43:12 +0000 Subject: [PATCH 1/3] fix composer merge plugin --- sync/04-docker-composer.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sync/04-docker-composer.sh b/sync/04-docker-composer.sh index 675596a6f..b7cc256aa 100755 --- a/sync/04-docker-composer.sh +++ b/sync/04-docker-composer.sh @@ -22,6 +22,7 @@ composer_in_docker () { } COMPOSER_WORK_DIR=$(mktemp -d -p "$DIR") +echo '{"config": {"allow-plugins": true}}' > "$COMPOSER_WORK_DIR"/composer.json composer_in_docker require wikimedia/composer-merge-plugin:$COMPOSER_MERGE_PLUGIN_VERSION # Copy the temporary vendor folder to clean dist/ @@ -30,13 +31,6 @@ cp -r "$COMPOSER_WORK_DIR"/vendor "$PWD"/dist # composer install COMPOSER_WORK_DIR="$PWD"/dist -# Run without composer-merge plugin to install using only composer.lock -mv "$COMPOSER_WORK_DIR"/composer.local.json "$COMPOSER_WORK_DIR"/composer.local.json.tmp -echo "Performing composer install without composer-merge plugin" -composer_in_docker install --no-dev --no-progress --optimize-autoloader -mv "$COMPOSER_WORK_DIR"/composer.local.json.tmp "$COMPOSER_WORK_DIR"/composer.local.json - -# Run again with composer-merge plugin to add missing autoload config echo "Performing composer install with composer-merge plugin" composer_in_docker install --no-dev --no-progress --optimize-autoloader From 1266095fec2e1628f03df93d8c597b9ad7147717 Mon Sep 17 00:00:00 2001 From: Thomas Arrow Date: Tue, 16 Dec 2025 10:05:28 +0000 Subject: [PATCH 2/3] Update sync/04-docker-composer.sh Co-authored-by: dena <91744937+deer-wmde@users.noreply.github.com> --- sync/04-docker-composer.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/sync/04-docker-composer.sh b/sync/04-docker-composer.sh index b7cc256aa..08175a960 100755 --- a/sync/04-docker-composer.sh +++ b/sync/04-docker-composer.sh @@ -1,4 +1,5 @@ #!/usr/bin/env sh +set -e SCRIPT_COMPOSER_CACHE=${COMPOSER_CACHE_DIR:-$HOME/.cache/composer} From 683b0407b47425f9b2d907c8a3bcbe9ad7bcd161 Mon Sep 17 00:00:00 2001 From: Thomas Arrow Date: Tue, 16 Dec 2025 13:06:20 +0000 Subject: [PATCH 3/3] update comment and composer merge plugin version --- sync/04-docker-composer.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/sync/04-docker-composer.sh b/sync/04-docker-composer.sh index 08175a960..956e7cb58 100755 --- a/sync/04-docker-composer.sh +++ b/sync/04-docker-composer.sh @@ -9,11 +9,18 @@ mkdir -p ${COMPOSER_CACHE_DIR:-$HOME/.cache/composer} ## T302558 Pre-installing composer-merge-plugin # # Because of https://github.com/wikimedia/composer-merge-plugin/issues/202 -# We are required to install the composer-merge plugin separately -# This avoids the unwanted update that happens on a fresh install +# We are required to install the composer-merge plugin separately. +# This avoids the unwanted composer update that happens on a +# fresh install of the composer-merge-plugin +# +# There are a number of people looking at the problem upstream; it may be that +# in the future this work around can be removed. See: +# - https://github.com/wikimedia/composer-merge-plugin/issues/252 +# - https://github.com/wikimedia/composer-merge-plugin/pull/257 # # This means for now, the wikimedia/composer-merge-plugin version needs to be defined here -COMPOSER_MERGE_PLUGIN_VERSION=v2.0.1 +# and should be roughly kept in sync with core composer.json +COMPOSER_MERGE_PLUGIN_VERSION=v2.1.0 composer_in_docker () { docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) -v "$COMPOSER_WORK_DIR":/app \