From 66fc3e33b656ad503807b7fdcb44bb20c0d90d44 Mon Sep 17 00:00:00 2001 From: Joe Fusco Date: Thu, 8 Jan 2026 16:17:12 -0500 Subject: [PATCH 1/2] fix: exclude build-sha.txt from plugin archives Add /build-sha.txt and /.* patterns to archive exclusion list in hwp-previews and wpgraphql-logging composer.json files. This fixes PR plugin artifacts failing to install in WordPress with "No valid plugins were found" error. Closes #550 --- plugins/hwp-previews/composer.json | 5 ++--- plugins/wpgraphql-logging/composer.json | 6 ++---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/plugins/hwp-previews/composer.json b/plugins/hwp-previews/composer.json index 966c4bcf..5a936ca4 100644 --- a/plugins/hwp-previews/composer.json +++ b/plugins/hwp-previews/composer.json @@ -72,9 +72,8 @@ "archive": { "name": "hwp-previews", "exclude": [ - "/.DS_Store", - "/.docker/", - "/.env.dist", + "/.*", + "/build-sha.txt", "/ACTIONS_AND_FILTERS.md", "/TESTING.md", "/Thumbs.db", diff --git a/plugins/wpgraphql-logging/composer.json b/plugins/wpgraphql-logging/composer.json index ecd73f52..018533e9 100644 --- a/plugins/wpgraphql-logging/composer.json +++ b/plugins/wpgraphql-logging/composer.json @@ -80,9 +80,8 @@ "archive": { "name": "wpgraphql-logging", "exclude": [ - "/.DS_Store", - "/.docker/", - "/.env.dist", + "/.*", + "/build-sha.txt", "/docs", "/TESTING.md", "/Thumbs.db", @@ -93,7 +92,6 @@ "/codeception.dist.yml", "/docker", "/docker-compose.yml", - "/docs", "/examples", "/node_modules", "/package-lock.json", From ac5e6dc5642964994ff8fa7f4eaff6deccb10526 Mon Sep 17 00:00:00 2001 From: Joe Fusco Date: Thu, 8 Jan 2026 17:27:58 -0500 Subject: [PATCH 2/2] fix: extract composer archive before artifact upload Fixes double-zip issue where downloaded GitHub Actions artifact contained a nested zip file. WordPress only extracts one level, so it couldn't find the plugin files. Now the artifact upload receives the extracted directory, so the downloaded artifact IS the plugin zip directly. Closes #550 --- .github/actions/create-plugin-artifact/action.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/actions/create-plugin-artifact/action.yml b/.github/actions/create-plugin-artifact/action.yml index 7c49459e..3014b593 100644 --- a/.github/actions/create-plugin-artifact/action.yml +++ b/.github/actions/create-plugin-artifact/action.yml @@ -22,12 +22,16 @@ runs: working-directory: plugins/${{ inputs.slug }} run: | echo "${GITHUB_SHA}" > build-sha.txt - rm -f plugin-build/${{ inputs.slug }}-*.zip + rm -rf plugin-build/${{ inputs.slug }}* composer archive -vvv --format=zip --file="plugin-build/${{ inputs.slug }}" --dir="." + # Extract the zip so artifact upload creates proper structure + # (avoids double-zip issue where downloaded artifact contains a zip) + unzip plugin-build/${{ inputs.slug }}.zip -d plugin-build/${{ inputs.slug }} + rm plugin-build/${{ inputs.slug }}.zip shell: bash - name: Upload plugin artifact uses: actions/upload-artifact@v4 with: name: ${{ inputs.slug }} - path: plugins/${{ inputs.slug }}/plugin-build/*.zip + path: plugins/${{ inputs.slug }}/plugin-build/${{ inputs.slug }}