[Snyk] Upgrade @wordpress/compose from 5.4.2 to 7.8.1 #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Live Branch | |
on: | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
- 'packages/php/**' | |
- 'tools/**' | |
- '**/changelog/**' | |
- '**/tests/**' | |
- '**/*.md' | |
- '.github/**' | |
- '!.github/workflows/pr-build-live-branch.yml' | |
concurrency: | |
# Cancel concurrent jobs on pull_request but not push, by including the run_id in the concurrency group for the latter. | |
group: build-${{ github.event_name == 'push' && github.run_id || 'pr' }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
FORCE_COLOR: 1 | |
permissions: {} | |
jobs: | |
build: | |
if: github.repository_owner == 'woocommerce' && github.event.pull_request.user.login != 'github-actions[bot]' | |
runs-on: ubuntu-20.04 | |
permissions: | |
contents: write | |
pull-requests: write | |
repository-projects: write | |
id-token: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current version | |
id: version | |
uses: actions/[email protected] | |
with: | |
script: | |
const { getVersion } = require( './.github/workflows/scripts/get-plugin-version' ); | |
const version = await getVersion( 'woocommerce' ); | |
core.setOutput( 'version', version ); | |
- name: Setup WooCommerce Monorepo | |
uses: ./.github/actions/setup-woocommerce-monorepo | |
with: | |
pull-package-deps: '@woocommerce/plugin-woocommerce' | |
- name: Prepare plugin zips | |
id: prepare | |
env: | |
CURRENT_VERSION: ${{ steps.version.outputs.version }} | |
run: | | |
# Current version must compare greater than any previously used current version for this PR. | |
# Assume GH run IDs are monotonic. | |
VERSUFFIX="${GITHUB_RUN_ID}-g$(git rev-parse --short HEAD)" | |
CURRENT_VERSION="$CURRENT_VERSION-$VERSUFFIX" | |
sed -i -e 's/Version: .*$/Version: '"$CURRENT_VERSION"'/' "$GITHUB_WORKSPACE/plugins/woocommerce/woocommerce.php" | |
echo "$CURRENT_VERSION" > "$GITHUB_WORKSPACE/plugins/woocommerce/version.txt" | |
cd "$GITHUB_WORKSPACE/plugins/woocommerce" | |
bash bin/build-zip.sh | |
mkdir "$GITHUB_WORKSPACE/zips" | |
mkdir -p "$GITHUB_WORKSPACE/unzips/woocommerce" | |
mv "$GITHUB_WORKSPACE/plugins/woocommerce/woocommerce.zip" "$GITHUB_WORKSPACE/zips/woocommerce.zip" | |
cd "$GITHUB_WORKSPACE/zips" | |
unzip -qq woocommerce.zip | |
cp -r woocommerce "$GITHUB_WORKSPACE/unzips/woocommerce/woocommerce" | |
rm woocommerce.zip | |
mv woocommerce woocommerce-dev | |
zip -q -r -9 "woocommerce-dev.zip" "woocommerce-dev/" | |
rm -fR "$GITHUB_WORKSPACE/zips/woocommerce-dev" | |
# Plugin data is passed as a JSON object. | |
PLUGIN_DATA="{}" | |
PLUGIN_DATA=$( jq -c --arg slug "woocommerce" --arg ver "$CURRENT_VERSION" '.[ $slug ] = { version: $ver }' <<<"$PLUGIN_DATA" ) | |
echo "plugin-data=$PLUGIN_DATA" >> $GITHUB_OUTPUT | |
- name: Create plugins artifact | |
uses: actions/upload-artifact@v4 | |
if: steps.prepare.outputs.plugin-data != '{}' | |
with: | |
name: plugins | |
path: zips | |
# Only need to retain for a day since the beta builder slurps it up to distribute. | |
retention-days: 1 | |
- name: Create playground artifact | |
uses: actions/upload-artifact@v4 | |
if: steps.prepare.outputs.plugin-data != '{}' | |
with: | |
name: plugins-${{ github.run_id }} | |
path: unzips/woocommerce | |
retention-days: 30 | |
- name: Inform Beta Download webhook if this is an internal PR | |
if: steps.prepare.outputs.plugin-data != '{}' && ! github.event.pull_request.head.repo.fork | |
env: | |
SECRET: ${{ secrets.WOOBETA_SECRET }} | |
PLUGIN_DATA: ${{ steps.prepare.outputs.plugin-data }} | |
PR: ${{ github.event.number }} | |
run: | | |
curl -v --fail -L \ | |
--url "https://betadownload.jetpack.me/gh-action.php?run_id=$GITHUB_RUN_ID&pr=$PR&commit=$GITHUB_SHA" \ | |
--form-string "repo=$GITHUB_REPOSITORY" \ | |
--form-string "branch=${GITHUB_REF#refs/heads/}" \ | |
--form-string "plugins=$PLUGIN_DATA" \ | |
--form-string "secret=$SECRET" | |
- name: Comment on PR with WordPress Playground details | |
uses: actions/github-script@v7 | |
if: steps.prepare.outputs.plugin-data != '{}' | |
with: | |
script: | | |
const { run } = require('./.github/workflows/scripts/generate-playground-blueprint'); | |
run({ github, context, core }); |