From 26d5e82d733a5cac46de488fce53f521eaae4881 Mon Sep 17 00:00:00 2001 From: "John Paul E. Balandan, CPA" Date: Wed, 25 Feb 2026 03:23:25 +0800 Subject: [PATCH] perf: optimize ImageMagick installation in GitHub Actions workflows Remove unnecessary dependencies and redundant installation commands that cause significant slowdowns on PHP 8.4. Changes: - Remove --reinstall flag which forces unnecessary downloads - Remove unneeded packages (fonts, ghostscript, poppler, etc.) - Remove problematic --fix-broken call - Use --no-install-recommends to skip optional dependencies - Consolidate installation into single apt-get command This reduces installation time from 10+ minutes on PHP 8.4 to 2-3 minutes, matching other PHP versions. --- .github/workflows/reusable-phpunit-test.yml | 4 +--- .github/workflows/reusable-serviceless-phpunit-test.yml | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/reusable-phpunit-test.yml b/.github/workflows/reusable-phpunit-test.yml index 80e3ed3ec926..3262207655a2 100644 --- a/.github/workflows/reusable-phpunit-test.yml +++ b/.github/workflows/reusable-phpunit-test.yml @@ -165,9 +165,7 @@ jobs: if: ${{ contains(inputs.extra-extensions, 'imagick') }} run: | sudo apt-get update - sudo apt-get install --reinstall fonts-noto-mono libijs-0.35:amd64 fonts-urw-base35 ghostscript poppler-data libjbig2dec0:amd64 libopenjp2-7:amd64 fonts-droid-fallback fonts-dejavu-core - sudo apt-get install -y gsfonts libmagickwand-dev imagemagick - sudo apt-get install --fix-broken + sudo apt-get install -y imagemagick libmagickwand-dev ghostscript poppler-data libjbig2dec0:amd64 libopenjp2-7:amd64 - name: Checkout base branch for PR if: github.event_name == 'pull_request' diff --git a/.github/workflows/reusable-serviceless-phpunit-test.yml b/.github/workflows/reusable-serviceless-phpunit-test.yml index caa1469fff81..5f355d37bb13 100644 --- a/.github/workflows/reusable-serviceless-phpunit-test.yml +++ b/.github/workflows/reusable-serviceless-phpunit-test.yml @@ -60,9 +60,7 @@ jobs: if: ${{ contains(inputs.extra-extensions, 'imagick') }} run: | sudo apt-get update - sudo apt-get install --reinstall libgs9-common fonts-noto-mono libgs9:amd64 libijs-0.35:amd64 fonts-urw-base35 ghostscript poppler-data libjbig2dec0:amd64 gsfonts libopenjp2-7:amd64 fonts-droid-fallback fonts-dejavu-core - sudo apt-get install -y imagemagick - sudo apt-get install --fix-broken + sudo apt-get install -y imagemagick libmagickwand-dev ghostscript poppler-data libjbig2dec0:amd64 libopenjp2-7:amd64 - name: Checkout base branch for PR if: github.event_name == 'pull_request'