diff --git a/.github/workflows/ghost-inspector.yml b/.github/workflows/ghost-inspector.yml index 505b4d3e9..05faeeb8f 100644 --- a/.github/workflows/ghost-inspector.yml +++ b/.github/workflows/ghost-inspector.yml @@ -23,57 +23,88 @@ jobs: - name: Build plugin run: | - npm install --legacy-peer-deps - npm run build + composer install --no-dev --no-scripts + composer run strauss-release npm install --legacy-peer-deps npm run build - name: Create plugin archive run: | - zip -r ${{ env.PLUGIN_SLUG }}.zip . \ - -x "*.git*" "*.github*" "tests*" "src*" "node_modules*" "*.gitignore" + mkdir -p /tmp/${{ env.PLUGIN_SLUG }} - - name: Upload plugin - run: | - # Upload plugin using the working format - UPLOAD_RESPONSE=$(curl -X POST \ - -H "X-API-Key: ${{ env.WP_API_KEY }}" \ - -F "plugin_zip=@${{ env.PLUGIN_SLUG }}.zip" \ - -F "plugin_zip=@${{ env.PLUGIN_SLUG }}.zip;type=application/zip" \ - -s \ - "${{ env.WP_URL }}/wp-json/plugin-upload/v1/upload") + rsync -av \ + --exclude='/.git' \ + --exclude='/.github' \ + --exclude='/bin' \ + --exclude='/gulp' \ + --exclude='/src' \ + --exclude='/node_modules' \ + --exclude='/tests' \ + --exclude='.distignore' \ + --exclude='.gitignore' \ + --exclude='.eslintignore' \ + --exclude='.eslintrc.js' \ + --exclude='.prettierrc.js' \ + --exclude='composer.json' \ + --exclude='composer.lock' \ + --exclude='gulpfile.js' \ + --exclude='package.json' \ + --exclude='package-lock.json' \ + --exclude='webpack.config.js' \ + --exclude='docker-compose.yml' \ + --exclude='codeception.dist.yml' \ + --exclude='.env' \ + --exclude='.env.testing' \ + --exclude='.prettierignore' \ + --exclude='phpcs.xml.dist' \ + --exclude='phpcs.xml' \ + --exclude='codeception.slic.yml' \ + --exclude='.puprc' \ + --exclude='.editorconfig' \ + --exclude='.git-blame-ignore-revs' \ + --exclude='.gitattributes' \ + --exclude='.gitmodules' \ + --exclude='.wordpress-org' \ + . /tmp/${{ env.PLUGIN_SLUG }}/ - echo "Upload response: $UPLOAD_RESPONSE" + cd /tmp + zip -r ${{ env.PLUGIN_SLUG }}.zip ${{ env.PLUGIN_SLUG }} + mv ${{ env.PLUGIN_SLUG }}.zip $GITHUB_WORKSPACE/ - # Check if the request was successful using grep like the shell script - if echo "$UPLOAD_RESPONSE" | grep -q '"success":true'; then - echo "Plugin uploaded successfully!" - PLUGIN_DIR=$(echo "$UPLOAD_RESPONSE" | grep -o '"plugin_directory":"[^"]*"' | cut -d'"' -f4) - echo "Installed in directory: $PLUGIN_DIR" - else - echo "Failed to upload plugin" - echo "$UPLOAD_RESPONSE" | grep -o '"message":"[^"]*"' | cut -d'"' -f4 - exit 1 - fi + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ env.PLUGIN_SLUG }} + path: ${{ env.PLUGIN_SLUG }}.zip - - name: Run Ghost Inspector tests - run: | - RESPONSE=$(curl -s "https://api.ghostinspector.com/v1/suites/${{ env.GI_SUITE_ID }}/execute/?apiKey=${{ env.GI_API_KEY }}") - echo "Ghost Inspector response: $RESPONSE" - - # Check if the tests were triggered successfully - if ! echo "$RESPONSE" | jq -e '.code == "SUCCESS"' > /dev/null; then - echo "Failed to trigger Ghost Inspector tests" - exit 1 - fi - - - name: Run Ghost Inspector tests - run: | - RESPONSE=$(curl -s "https://api.ghostinspector.com/v1/suites/${{ env.GI_SUITE_ID }}/execute/?apiKey=${{ env.GI_API_KEY }}") - echo "Ghost Inspector response: $RESPONSE" +# - name: Upload plugin +# run: | +# # Upload plugin using the working format +# UPLOAD_RESPONSE=$(curl -X POST \ +# -H "X-API-Key: ${{ env.WP_API_KEY }}" \ +# -F "plugin_zip=@${{ env.PLUGIN_SLUG }}.zip" \ +# -F "plugin_zip=@${{ env.PLUGIN_SLUG }}.zip;type=application/zip" \ +# -s \ +# "${{ env.WP_URL }}/wp-json/plugin-upload/v1/upload") +# echo "Upload response: $UPLOAD_RESPONSE" +# # Check if the request was successful using grep like the shell script +# if echo "$UPLOAD_RESPONSE" | grep -q '"success":true'; then +# echo "Plugin uploaded successfully!" +# PLUGIN_DIR=$(echo "$UPLOAD_RESPONSE" | grep -o '"plugin_directory":"[^"]*"' | cut -d'"' -f4) +# echo "Installed in directory: $PLUGIN_DIR" +# else +# echo "Failed to upload plugin" +# echo "$UPLOAD_RESPONSE" | grep -o '"message":"[^"]*"' | cut -d'"' -f4 +# exit 1 +# fi - # Check if the tests were triggered successfully - if ! echo "$RESPONSE" | jq -e '.code == "SUCCESS"' > /dev/null; then - echo "Failed to trigger Ghost Inspector tests" - exit 1 - fi +# - name: Run Ghost Inspector tests +# run: | +# RESPONSE=$(curl -s "https://api.ghostinspector.com/v1/suites/${{ env.GI_SUITE_ID }}/execute/?apiKey=${{ env.GI_API_KEY }}") +# echo "Ghost Inspector response: $RESPONSE" +# +# # Check if the tests were triggered successfully +# if ! echo "$RESPONSE" | jq -e '.code == "SUCCESS"' > /dev/null; then +# echo "Failed to trigger Ghost Inspector tests" +# exit 1 +# fi