From edb11d5257488b5772fbc837d7513b62a48ff353 Mon Sep 17 00:00:00 2001 From: Eiman Date: Mon, 15 Dec 2025 16:21:13 -0600 Subject: [PATCH 1/3] fix: use pnpm version from package.json packageManager field Remove hardcoded pnpm version 8 from workflows and let pnpm/action-setup automatically detect the version from package.json packageManager field (pnpm@10.25.0). This fixes the 'not compatible lockfile' error that was occurring because the lockfile was generated with pnpm 10 but the workflow was using pnpm 8. --- .github/workflows/build.yml | 3 +-- .github/workflows/release.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 271ddc8..22949b3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,8 +24,7 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@eae0cfeb286e66ffb5155f1a79b90583a127a68b # v2.4.1 - with: - version: 8 + # Version is automatically read from package.json packageManager field - name: Get pnpm store directory id: pnpm-cache diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b133f88..830aedf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,8 +31,7 @@ jobs: - name: Setup pnpm uses: pnpm/action-setup@eae0cfeb286e66ffb5155f1a79b90583a127a68b # v2.4.1 - with: - version: 8 + # Version is automatically read from package.json packageManager field - name: Install dependencies run: pnpm install --frozen-lockfile From a0531b663b385a2fb0ca984ad6ca8bd35aef39da Mon Sep 17 00:00:00 2001 From: Eiman Date: Mon, 15 Dec 2025 16:24:17 -0600 Subject: [PATCH 2/3] fix: prevent PHP syntax check from failing on success The grep command was returning exit code 1 when no syntax errors were found, causing the workflow to fail. Fixed by: - Capturing output in a variable with '|| true' to handle grep exit codes - Checking if errors exist before failing - Providing clear success/failure messages --- .github/workflows/build.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 22949b3..e925ea8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,7 +64,14 @@ jobs: # Check PHP syntax if command -v php &> /dev/null; then echo "Checking PHP syntax..." - find . -name "*.php" -not -path "./vendor/*" -not -path "./node_modules/*" -exec php -l {} \; | grep -v "No syntax errors" + ERRORS=$(find . -name "*.php" -not -path "./vendor/*" -not -path "./node_modules/*" -exec php -l {} \; 2>&1 | grep -v "No syntax errors" || true) + if [ -n "$ERRORS" ]; then + echo "PHP syntax errors found:" + echo "$ERRORS" + exit 1 + else + echo "✅ All PHP files have valid syntax" + fi else echo "PHP not installed, skipping syntax check" fi From 7402cb1cd88932cfe9f56e34f11ee0642b5d5321 Mon Sep 17 00:00:00 2001 From: Eiman Date: Mon, 15 Dec 2025 16:29:00 -0600 Subject: [PATCH 3/3] fix: upgrade upload-artifact to v4.6.2 for better artifact support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upgraded from v3.2.1-node20 to v4.6.2 to fix artifact upload failures. The v3 version had stricter naming requirements and compatibility issues. Changes: - actions/upload-artifact: v3.2.1-node20 → v4.6.2 - SHA: c24449f → ea165f8 (verified) v4 provides better artifact naming support and improved reliability. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e925ea8..286c23b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -87,7 +87,7 @@ jobs: echo "- \`build/index.tsx.asset.php\`" >> $GITHUB_STEP_SUMMARY - name: Upload build artifacts - uses: actions/upload-artifact@c24449f33cd45d4826c6702db7e49f7cdb9b551d # v3.2.1-node20 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: build-artifacts path: build/