From 43e3c3ba1404ed1cac473bba35312eabc3c8ba0a Mon Sep 17 00:00:00 2001 From: Matt Gros <3311227+mpge@users.noreply.github.com> Date: Sat, 2 May 2026 15:50:36 -0400 Subject: [PATCH] fix(release): composer install before zip so central locales ship MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The plugin's textdomain loader reads from vendor/escalated-dev/locale/languages/escalated-{locale}.mo (introduced in #51 / cfc9c81). The release workflow built the zip from a fresh checkout without running composer install, so vendor/ was empty and the zip silently shipped without central translations — the plugin's fallback to the legacy in-tree languages/ dir hid the regression at runtime, but downstream installs miss portfolio-wide updates. Add a setup-php + composer install step before the rsync. composer.json itself stays excluded from the zip (end-users don't need it); only the resolved vendor/ tree is bundled. --- .github/workflows/release.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c728a95..7719466 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,10 +16,23 @@ jobs: - name: Checkout code uses: actions/checkout@v6 + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.2' + tools: composer:v2 + coverage: none + + - name: Install runtime Composer dependencies + run: composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader + - name: Build plugin zip run: | mkdir -p build/escalated release + # Include vendor/ so escalated-dev/locale (central translations) ships + # with the plugin. Without this, the plugin silently falls back to the + # legacy in-tree languages/ catalog and misses portfolio-wide updates. rsync -av ./ build/escalated/ \ --exclude='.git' \ --exclude='.gitignore' \