From f0134d6fabdf97f5dcdcdbd207e94e18a5010ed0 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 11:31:09 -0400 Subject: [PATCH 01/45] First pass at making the build process test code callable. --- .github/workflows/test-npm-run.yml | 73 ++++++++++++++++++++ .github/workflows/test-npm.yml | 104 ++++------------------------- 2 files changed, 87 insertions(+), 90 deletions(-) create mode 100644 .github/workflows/test-npm-run.yml diff --git a/.github/workflows/test-npm-run.yml b/.github/workflows/test-npm-run.yml new file mode 100644 index 0000000000000..32b1d87c61863 --- /dev/null +++ b/.github/workflows/test-npm-run.yml @@ -0,0 +1,73 @@ +## +# A callable workflow that tests the WordPress Core build process. +## +name: Run WordPress Build Process Tests + +on: + workflow_call: + inputs: + os: + description: 'Operating system to run tests on' + required: false + type: 'string' + default: 'ubuntu-latest' + +jobs: + # Verifies that installing npm dependencies and building WordPress works as expected. + # + # Performs the following steps: + # - Checks out the repository. + # - Sets up Node.js. + # - Logs debug information about the GitHub Action runner. + # - Installs npm dependencies. + # - Builds WordPress to run from the `build` directory. + # - Cleans up after building WordPress to the `build` directory. + # - Ensures version-controlled files are not modified or deleted. + # - Builds WordPress to run from the `src` directory. + # - Cleans up after building WordPress to the `src` directory. + # - Ensures version-controlled files are not modified or deleted. + core-build-process-tests: + name: PHP ${{ inputs.php }} / ${{ 'mariadb' == inputs.db-type && 'MariaDB' || 'MySQL' }} ${{ inputs.db-version }}${{ inputs.multisite && ' multisite' || '' }}${{ inputs.memcached && ' with memcached' || '' }}${{ inputs.report && ' (test reporting enabled)' || '' }} + runs-on: ${{ inputs.os }} + timeout-minutes: 20 + + steps: + - name: Checkout repository + uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 + with: + show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} + + - name: Set up Node.js + uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 + with: + node-version-file: '.nvmrc' + cache: npm + + - name: Log debug information + run: | + npm --version + node --version + curl --version + git --version + svn --version + + - name: Install npm Dependencies + run: npm ci + + - name: Build WordPress in /src + run: npm run build:dev + + - name: Clean after building in /src + run: npm run grunt clean -- --dev + + - name: Ensure version-controlled files are not modified or deleted during building and cleaning + run: git diff --exit-code + + - name: Build WordPress + run: npm run build + + - name: Clean after building + run: npm run grunt clean + + - name: Ensure version-controlled files are not modified or deleted during building and cleaning + run: git diff --exit-code diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml index 185908f7943db..86f656c7f98c5 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-npm.yml @@ -3,7 +3,7 @@ name: Test npm on: push: branches: - - trunk + - 'combine/npm-testing' - '3.[7-9]' - '[4-9].[0-9]' tags: @@ -51,58 +51,18 @@ jobs: # - Builds WordPress to run from the `src` directory. # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. - test-npm: + test-core-build-process: name: Test npm on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing permissions: contents: read - timeout-minutes: 20 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} strategy: fail-fast: false matrix: os: [ ubuntu-latest, windows-latest ] - - steps: - - name: Checkout repository - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 - with: - show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} - - - name: Set up Node.js - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 - with: - node-version-file: '.nvmrc' - cache: npm - - - name: Log debug information - run: | - npm --version - node --version - curl --version - git --version - svn --version - - - name: Install npm Dependencies - run: npm ci - - - name: Build WordPress in /src - run: npm run build:dev - - - name: Clean after building in /src - run: npm run grunt clean -- --dev - - - name: Ensure version-controlled files are not modified or deleted during building and cleaning - run: git diff --exit-code - - - name: Build WordPress - run: npm run build - - - name: Clean after building - run: npm run grunt clean - - - name: Ensure version-controlled files are not modified or deleted during building and cleaning - run: git diff --exit-code + with: + os: ${{ matrix.os }} # Verifies that installing npm dependencies and building WordPress works as expected on MacOS. # @@ -124,53 +84,17 @@ jobs: # - Builds WordPress to run from the `src` directory. # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. - test-npm-macos: - name: Test npm on MacOS - runs-on: macos-latest + test-core-build-proces-macos: + name: Test npm on ${{ matrix.os }} + runs-on: ${{ matrix.os }} permissions: contents: read - timeout-minutes: 30 + timeout-minutes: 20 if: ${{ github.repository == 'WordPress/wordpress-develop' }} - steps: - - name: Checkout repository - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 - with: - show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} - - - name: Set up Node.js - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 - with: - node-version-file: '.nvmrc' - cache: npm - - - name: Log debug information - run: | - npm --version - node --version - curl --version - git --version - svn --version - - - name: Install npm Dependencies - run: npm ci - - - name: Build WordPress in /src - run: npm run build:dev - - - name: Clean after building in /src - run: npm run grunt clean -- --dev - - - name: Ensure version-controlled files are not modified or deleted during building and cleaning - run: git diff --exit-code - - - name: Build WordPress - run: npm run build - - - name: Clean after building - run: npm run grunt clean - - - name: Ensure version-controlled files are not modified or deleted during building and cleaning - run: git diff --exit-code + strategy: + fail-fast: false + matrix: + os: [ macos-latest ] slack-notifications: name: Slack Notifications @@ -178,7 +102,7 @@ jobs: permissions: actions: read contents: read - needs: [ test-npm, test-npm-macos ] + needs: [ test-core-build-process, test-core-build-process-macos ] if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} with: calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }} From 7bd10df9a31b11a4a47d76e9d927549975787bef Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 11:32:05 -0400 Subject: [PATCH 02/45] Workflow correction. --- .github/workflows/test-npm.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml index 86f656c7f98c5..b1c07b0c154d6 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-npm.yml @@ -86,15 +86,16 @@ jobs: # - Ensures version-controlled files are not modified or deleted. test-core-build-proces-macos: name: Test npm on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing permissions: contents: read - timeout-minutes: 20 if: ${{ github.repository == 'WordPress/wordpress-develop' }} strategy: fail-fast: false matrix: os: [ macos-latest ] + with: + os: ${{ matrix.os }} slack-notifications: name: Slack Notifications From 01e76978c86ec4154f8d0ea73c7ed217a4685849 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 11:32:35 -0400 Subject: [PATCH 03/45] Fix typo. --- .github/workflows/test-npm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml index b1c07b0c154d6..6d94bb5dbea01 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-npm.yml @@ -84,7 +84,7 @@ jobs: # - Builds WordPress to run from the `src` directory. # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. - test-core-build-proces-macos: + test-core-build-process-macos: name: Test npm on ${{ matrix.os }} uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing permissions: From 0585a81921ffe1480ba11f20f8208c620de14c20 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 11:33:19 -0400 Subject: [PATCH 04/45] Revert test change. --- .github/workflows/test-npm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml index 6d94bb5dbea01..4c6edd10184d8 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-npm.yml @@ -3,7 +3,7 @@ name: Test npm on: push: branches: - - 'combine/npm-testing' + - trunk - '3.[7-9]' - '[4-9].[0-9]' tags: From 392e39d0cd92a5c0ef591c3602f43473c3d02641 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 11:35:01 -0400 Subject: [PATCH 05/45] Adjust job names. --- .github/workflows/test-npm-run.yml | 2 +- .github/workflows/test-npm.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-npm-run.yml b/.github/workflows/test-npm-run.yml index 32b1d87c61863..3908083ee3a33 100644 --- a/.github/workflows/test-npm-run.yml +++ b/.github/workflows/test-npm-run.yml @@ -27,7 +27,7 @@ jobs: # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. core-build-process-tests: - name: PHP ${{ inputs.php }} / ${{ 'mariadb' == inputs.db-type && 'MariaDB' || 'MySQL' }} ${{ inputs.db-version }}${{ inputs.multisite && ' multisite' || '' }}${{ inputs.memcached && ' with memcached' || '' }}${{ inputs.report && ' (test reporting enabled)' || '' }} + name: ${{ inputs.os }} / Core Build Process runs-on: ${{ inputs.os }} timeout-minutes: 20 diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml index 4c6edd10184d8..425644150af18 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-npm.yml @@ -52,7 +52,7 @@ jobs: # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. test-core-build-process: - name: Test npm on ${{ matrix.os }} + name: ${{ matrix.os }} uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing permissions: contents: read From acb1e2eda0b632561efb76ec4d08a64c9d22bb14 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 11:37:21 -0400 Subject: [PATCH 06/45] Fix MacOS job name. --- .github/workflows/test-npm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml index 425644150af18..742c1fec90c1c 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-npm.yml @@ -85,7 +85,7 @@ jobs: # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. test-core-build-process-macos: - name: Test npm on ${{ matrix.os }} + name: ${{ matrix.os }} uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing permissions: contents: read From cd3bbf8f3d60f398280e92477f410319f79b6d1c Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 11:46:22 -0400 Subject: [PATCH 07/45] Improve naming of jobs with better OS name. --- .github/workflows/test-npm-run.yml | 2 +- .github/workflows/test-npm.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-npm-run.yml b/.github/workflows/test-npm-run.yml index 3908083ee3a33..de9a4f6f6b0e9 100644 --- a/.github/workflows/test-npm-run.yml +++ b/.github/workflows/test-npm-run.yml @@ -27,7 +27,7 @@ jobs: # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. core-build-process-tests: - name: ${{ inputs.os }} / Core Build Process + name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Core Build Process runs-on: ${{ inputs.os }} timeout-minutes: 20 diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml index 742c1fec90c1c..aa41167da5341 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-npm.yml @@ -52,7 +52,7 @@ jobs: # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. test-core-build-process: - name: ${{ matrix.os }} + name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing permissions: contents: read @@ -85,7 +85,7 @@ jobs: # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. test-core-build-process-macos: - name: ${{ matrix.os }} + name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing permissions: contents: read From f4b63374e6f2ef4e99b1b598fe6155758d7efc83 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 12:35:07 -0400 Subject: [PATCH 08/45] Add Gutenberg testing. --- ...{test-npm.yml => test-build-processes.yml} | 69 ++++++++------- ...un.yml => test-core-build-process-run.yml} | 4 +- .../test-gutenberg-build-process-run.yml | 87 +++++++++++++++++++ 3 files changed, 129 insertions(+), 31 deletions(-) rename .github/workflows/{test-npm.yml => test-build-processes.yml} (67%) rename .github/workflows/{test-npm-run.yml => test-core-build-process-run.yml} (97%) create mode 100644 .github/workflows/test-gutenberg-build-process-run.yml diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-build-processes.yml similarity index 67% rename from .github/workflows/test-npm.yml rename to .github/workflows/test-build-processes.yml index aa41167da5341..1d17efe2d9ab8 100644 --- a/.github/workflows/test-npm.yml +++ b/.github/workflows/test-build-processes.yml @@ -38,22 +38,10 @@ concurrency: permissions: {} jobs: - # Verifies that installing npm dependencies and building WordPress works as expected. - # - # Performs the following steps: - # - Checks out the repository. - # - Sets up Node.js. - # - Logs debug information about the GitHub Action runner. - # - Installs npm dependencies. - # - Builds WordPress to run from the `build` directory. - # - Cleans up after building WordPress to the `build` directory. - # - Ensures version-controlled files are not modified or deleted. - # - Builds WordPress to run from the `src` directory. - # - Cleans up after building WordPress to the `src` directory. - # - Ensures version-controlled files are not modified or deleted. + # Creates a job to test the WordPress Core build process on multiple operating systems. test-core-build-process: name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} - uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} @@ -64,7 +52,7 @@ jobs: with: os: ${{ matrix.os }} - # Verifies that installing npm dependencies and building WordPress works as expected on MacOS. + # Creates a job to test the WordPress Core build process on MacOS. # # This is separate from the job above in order to use stricter conditions about when to run. # This avoids unintentionally consuming excessive minutes, as MacOS jobs consume minutes at a 10x rate. @@ -72,21 +60,44 @@ jobs: # The `matrix` and `runner` contexts are not available for use within `if` expressions. So there is # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. - # - # Performs the following steps: - # - Checks out the repository. - # - Sets up Node.js. - # - Logs debug information about the GitHub Action runner. - # - Installs npm dependencies. - # - Builds WordPress to run from the `build` directory. - # - Cleans up after building WordPress to the `build` directory. - # - Ensures version-controlled files are not modified or deleted. - # - Builds WordPress to run from the `src` directory. - # - Cleans up after building WordPress to the `src` directory. - # - Ensures version-controlled files are not modified or deleted. test-core-build-process-macos: name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} - uses: desrosj/wordpress-develop/.github/workflows/test-npm-run.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing + permissions: + contents: read + if: ${{ github.repository == 'WordPress/wordpress-develop' }} + strategy: + fail-fast: false + matrix: + os: [ macos-latest ] + with: + os: ${{ matrix.os }} + + # Creates a job to test the Gutenberg plugin build process on multiple operating systems. + test-gutenberg-build-process: + name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing + permissions: + contents: read + if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest, windows-latest ] + with: + os: ${{ matrix.os }} + + # Creates a job to test the Gutenberg plugin build process on MacOS. + # + # This is separate from the job above in order to use stricter conditions about when to run. + # This avoids unintentionally consuming excessive minutes, as MacOS jobs consume minutes at a 10x rate. + # + # The `matrix` and `runner` contexts are not available for use within `if` expressions. So there is + # currently no way to determine the OS being used on a given job. + # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. + test-gutenberg-build-process-macos: + name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' }} @@ -103,7 +114,7 @@ jobs: permissions: actions: read contents: read - needs: [ test-core-build-process, test-core-build-process-macos ] + needs: [ test-core-build-process, test-core-build-process-macos, test-gutenberg-build-process, test-gutenberg-build-process-macos ] if: ${{ github.repository == 'WordPress/wordpress-develop' && github.event_name != 'pull_request' && always() }} with: calling_status: ${{ contains( needs.*.result, 'cancelled' ) && 'cancelled' || contains( needs.*.result, 'failure' ) && 'failure' || 'success' }} diff --git a/.github/workflows/test-npm-run.yml b/.github/workflows/test-core-build-process-run.yml similarity index 97% rename from .github/workflows/test-npm-run.yml rename to .github/workflows/test-core-build-process-run.yml index de9a4f6f6b0e9..112e1966b2e32 100644 --- a/.github/workflows/test-npm-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -1,7 +1,7 @@ ## # A callable workflow that tests the WordPress Core build process. ## -name: Run WordPress Build Process Tests +name: Test the WordPress Build Process on: workflow_call: @@ -26,7 +26,7 @@ jobs: # - Builds WordPress to run from the `src` directory. # - Cleans up after building WordPress to the `src` directory. # - Ensures version-controlled files are not modified or deleted. - core-build-process-tests: + build-process-tests: name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Core Build Process runs-on: ${{ inputs.os }} timeout-minutes: 20 diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml new file mode 100644 index 0000000000000..54cc2473f790b --- /dev/null +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -0,0 +1,87 @@ +## +# A callable workflow that tests the Gutenberg plugin build process. +## +name: Test the Gutenberg plugin Build Process + +on: + workflow_call: + inputs: + os: + description: 'Operating system to run tests on' + required: false + type: 'string' + default: 'ubuntu-latest' + +env: + GUTENBERG_DIRECTORY: 'src/wp-content/plugins/gutenberg' + +jobs: + # Verifies that installing npm dependencies and building the Gutenberg plugin works as expected. + # + # Performs the following steps: + # - Checks out the repository. + # - Checks out the Gutenberg plugin repository. + # - Sets up Node.js. + # - Logs debug information about the GitHub Action runner. + # - Installs npm dependencies for Gutenberg. + # - Runs the Gutenberg build process. + # - Installs Core npm dependencies. + # - Runs the Gutenberg build process. + # - Builds WordPress to run from the `src` directory. + # - Runs the Gutenberg build process. + build-process-tests: + name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Gutenberg Build Process + runs-on: ${{ inputs.os }} + timeout-minutes: 20 + + steps: + - name: Checkout repository + uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 + with: + show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} + + - name: Checkout Gutenberg plugin + uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 + with: + repository: 'WordPress/gutenberg' + path: ${{ env.GUTENBERG_DIRECTORY }} + show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} + + - name: Set up Node.js + uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 + with: + node-version-file: '.nvmrc' + cache: npm + cache-dependency-path: | + package-lock.json + src/wp-content/plugins/gutenberg/package-lock.json + + - name: Log debug information + run: | + npm --version + node --version + curl --version + git --version + svn --version + + - name: Install Gutenberg Dependencies + run: npm ci + working-directory: ${{ env.GUTENBERG_DIRECTORY }} + + - name: Run Gutenberg build script + run: npm run build + working-directory: ${{ env.GUTENBERG_DIRECTORY }} + + - name: Install Core Dependencies + run: npm ci + + - name: Run Gutenberg build script with Core dependencies installed + run: npm run build + working-directory: ${{ env.GUTENBERG_DIRECTORY }} + + - name: Build WordPress in /src + run: npm run build:dev + + - name: Run Gutenberg build script after building Core to run from src/ + run: npm run build + working-directory: ${{ env.GUTENBERG_DIRECTORY }} From 3ffa797275658a1d2a18d185961343464c0e4c42 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 12:51:44 -0400 Subject: [PATCH 09/45] Fix workflow name. --- .github/workflows/test-build-processes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 1d17efe2d9ab8..f53a11e7145ca 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -1,4 +1,4 @@ -name: Test npm +name: Test Build Processes on: push: From b85ec33c44b2f3c1f59108a1a0e60fb06aea9c7e Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 13:02:49 -0400 Subject: [PATCH 10/45] Reorder steps to try and reproduce a failure. --- .github/workflows/test-gutenberg-build-process-run.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 54cc2473f790b..477f839c351e9 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -64,6 +64,9 @@ jobs: git --version svn --version + - name: Install Core Dependencies + run: npm ci + - name: Install Gutenberg Dependencies run: npm ci working-directory: ${{ env.GUTENBERG_DIRECTORY }} @@ -72,9 +75,6 @@ jobs: run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} - - name: Install Core Dependencies - run: npm ci - - name: Run Gutenberg build script with Core dependencies installed run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} From d545e64dd515b9302917f6033cc7800568133110 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 13:04:06 -0400 Subject: [PATCH 11/45] Extend the MacOS timeout. --- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 477f839c351e9..2ecb75639b7d2 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -32,7 +32,7 @@ jobs: build-process-tests: name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Gutenberg Build Process runs-on: ${{ inputs.os }} - timeout-minutes: 20 + timeout-minutes: ${{ inputs.os == 'macos-latest' && 30 || 20 }} steps: - name: Checkout repository From efbb7e8b4f2f6f98906d53e6c017ddc073af7ce6 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 13:04:43 -0400 Subject: [PATCH 12/45] Just use a static timeout value. --- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 2ecb75639b7d2..79001593277f3 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -32,7 +32,7 @@ jobs: build-process-tests: name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Gutenberg Build Process runs-on: ${{ inputs.os }} - timeout-minutes: ${{ inputs.os == 'macos-latest' && 30 || 20 }} + timeout-minutes: 30 steps: - name: Checkout repository From b07db75902b54615d61d4fed4d5149926ebb35c9 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 13:22:22 -0400 Subject: [PATCH 13/45] Revert "Reorder steps to try and reproduce a failure." This reverts commit b85ec33c44b2f3c1f59108a1a0e60fb06aea9c7e. --- .github/workflows/test-gutenberg-build-process-run.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 79001593277f3..3b1ea4375a9e5 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -64,9 +64,6 @@ jobs: git --version svn --version - - name: Install Core Dependencies - run: npm ci - - name: Install Gutenberg Dependencies run: npm ci working-directory: ${{ env.GUTENBERG_DIRECTORY }} @@ -75,6 +72,9 @@ jobs: run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} + - name: Install Core Dependencies + run: npm ci + - name: Run Gutenberg build script with Core dependencies installed run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} From ae4579676f8bca56178321bddc34793ec1c1f599 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 13:35:58 -0400 Subject: [PATCH 14/45] Remove caching to try and produce error. --- .github/workflows/test-gutenberg-build-process-run.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 3b1ea4375a9e5..285bf04fa580b 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -51,10 +51,6 @@ jobs: uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version-file: '.nvmrc' - cache: npm - cache-dependency-path: | - package-lock.json - src/wp-content/plugins/gutenberg/package-lock.json - name: Log debug information run: | From 80988b16db06f840a2d7175ab3b5673111738875 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 13:54:30 -0400 Subject: [PATCH 15/45] Restore cache keys and try the `wp/6.4` branch. --- .github/workflows/test-gutenberg-build-process-run.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 285bf04fa580b..9dd9a7b7e82a3 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -44,6 +44,7 @@ jobs: uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 with: repository: 'WordPress/gutenberg' + ref: 'wp/6.4' path: ${{ env.GUTENBERG_DIRECTORY }} show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} @@ -51,6 +52,10 @@ jobs: uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 with: node-version-file: '.nvmrc' + cache: npm + cache-dependency-path: | + package-lock.json + src/wp-content/plugins/gutenberg/package-lock.json - name: Log debug information run: | From b29d14d224df50e170a5f26f011d95b78a8337e6 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:03:28 -0400 Subject: [PATCH 16/45] Downgrade package causing issues. --- package-lock.json | 435 ++++++++++++++++++++++++++++++++++------------ package.json | 2 +- 2 files changed, 326 insertions(+), 111 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7b70851a24995..58a5494242e47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -128,7 +128,7 @@ "grunt-contrib-cssmin": "~5.0.0", "grunt-contrib-imagemin": "~4.0.0", "grunt-contrib-jshint": "3.2.0", - "grunt-contrib-qunit": "~7.0.1", + "grunt-contrib-qunit": "~8.0.1", "grunt-contrib-uglify": "~5.2.2", "grunt-contrib-watch": "~1.1.0", "grunt-file-append": "0.0.7", @@ -3933,17 +3933,16 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-0.5.0.tgz", - "integrity": "sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.7.1.tgz", + "integrity": "sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==", "dev": true, "dependencies": { "debug": "4.3.4", "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "tar-fs": "2.1.1", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", "unbzip2-stream": "1.4.3", "yargs": "17.7.1" }, @@ -3951,15 +3950,7 @@ "browsers": "lib/cjs/main-cli.js" }, "engines": { - "node": ">=14.1.0" - }, - "peerDependencies": { - "typescript": ">= 4.7.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=16.3.0" } }, "node_modules/@puppeteer/browsers/node_modules/ansi-regex": { @@ -4059,6 +4050,28 @@ "node": ">=8" } }, + "node_modules/@puppeteer/browsers/node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dev": true, + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/@puppeteer/browsers/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/@puppeteer/browsers/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -11012,17 +11025,24 @@ } }, "node_modules/chromium-bidi": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.7.tgz", - "integrity": "sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ==", + "version": "0.4.31", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.31.tgz", + "integrity": "sha512-OtvEg2JMRQrHsmLx4FV3u1Hf9waYxB5PmL+yM0HkFpc9H2x3TMbUqS+GP2/fC4399hzOO+EQF8uVU43By9ILag==", "dev": true, "dependencies": { - "mitt": "3.0.0" + "mitt": "3.0.1", + "urlpattern-polyfill": "9.0.0" }, "peerDependencies": { "devtools-protocol": "*" } }, + "node_modules/chromium-bidi/node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, "node_modules/ci-info": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", @@ -17414,17 +17434,17 @@ } }, "node_modules/grunt-contrib-qunit": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-7.0.1.tgz", - "integrity": "sha512-+5eL4qv2H8q6he+2HGDkqbKwAulRUrtMaX5NoY2AwwvbA4d4OqsI1YGiUZ0L/O9oL7nUQ1cxGKeOp+TcE/AYUg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-8.0.1.tgz", + "integrity": "sha512-bkkOtNVWrP92ZCBPDFX6j3pt3EMHJPj/Pq2ZPbZODlapKAbbl0qwwib29oJVqKeJA+MyO4RtmWSQDYZuiIADeA==", "dev": true, "dependencies": { "eventemitter2": "^6.4.9", "p-each-series": "^2.2.0", - "puppeteer": "^19.7.0" + "puppeteer": "^21.1.0" }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/grunt-contrib-qunit/node_modules/eventemitter2": { @@ -27709,6 +27729,72 @@ "node": ">= 0.10" } }, + "node_modules/proxy-agent": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", + "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/proxy-compare": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.3.0.tgz", @@ -27764,18 +27850,18 @@ } }, "node_modules/puppeteer": { - "version": "19.11.1", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-19.11.1.tgz", - "integrity": "sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==", + "version": "21.3.8", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.3.8.tgz", + "integrity": "sha512-4OrInVIAtDgcznENUV4Du4gYSZhRmbCkckvOoPstXrUH4JsQ3atSegY+9f/tOKCDB2qh7sXaszDcFEn+RymY0g==", "dev": true, "hasInstallScript": true, "dependencies": { - "@puppeteer/browsers": "0.5.0", - "cosmiconfig": "8.1.3", - "https-proxy-agent": "5.0.1", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "puppeteer-core": "19.11.1" + "@puppeteer/browsers": "1.7.1", + "cosmiconfig": "8.3.6", + "puppeteer-core": "21.3.8" + }, + "engines": { + "node": ">=16.3.0" } }, "node_modules/puppeteer-core": { @@ -27844,14 +27930,14 @@ "dev": true }, "node_modules/puppeteer/node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "dependencies": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "engines": { @@ -27859,12 +27945,29 @@ }, "funding": { "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/puppeteer/node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.12" } }, "node_modules/puppeteer/node_modules/devtools-protocol": { - "version": "0.0.1107588", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1107588.tgz", - "integrity": "sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==", + "version": "0.0.1179426", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1179426.tgz", + "integrity": "sha512-KKC7IGwdOr7u9kTGgjUvGTov/z1s2H7oHi3zKCdR9eSDyCPia5CBi4aRhtp7d8uR7l0GS5UTDw3TjKGu5CqINg==", "dev": true }, "node_modules/puppeteer/node_modules/js-yaml": { @@ -27879,40 +27982,47 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/puppeteer/node_modules/puppeteer-core": { - "version": "19.11.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.11.1.tgz", - "integrity": "sha512-qcuC2Uf0Fwdj9wNtaTZ2OvYRraXpAK+puwwVW8ofOhOgLPZyz1c68tsorfIZyCUOpyBisjr+xByu7BMbEYMepA==", + "node_modules/puppeteer/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "dependencies": { - "@puppeteer/browsers": "0.5.0", - "chromium-bidi": "0.4.7", - "cross-fetch": "3.1.5", - "debug": "4.3.4", - "devtools-protocol": "0.0.1107588", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "proxy-from-env": "1.1.0", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.13.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=14.14.0" + "node": "4.x || >=6.0.0" }, "peerDependencies": { - "typescript": ">= 4.7.4" + "encoding": "^0.1.0" }, "peerDependenciesMeta": { - "typescript": { + "encoding": { "optional": true } } }, + "node_modules/puppeteer/node_modules/puppeteer-core": { + "version": "21.3.8", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.3.8.tgz", + "integrity": "sha512-yv12E/+zZ7Lei5tJB4sUkSrsuqKibuYpYxLGbmtLUjjYIqGE5HKz9OUI2I/RFHEvF+pHi2bTbv5bWydeCGJ6Mw==", + "dev": true, + "dependencies": { + "@puppeteer/browsers": "1.7.1", + "chromium-bidi": "0.4.31", + "cross-fetch": "4.0.0", + "debug": "4.3.4", + "devtools-protocol": "0.0.1179426", + "ws": "8.14.2" + }, + "engines": { + "node": ">=16.3.0" + } + }, "node_modules/puppeteer/node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, "engines": { "node": ">=10.0.0" @@ -32744,6 +32854,12 @@ "node": ">= 4" } }, + "node_modules/urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", + "dev": true + }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -36859,17 +36975,16 @@ "integrity": "sha512-U2diO1Z4i1n2IoFgMYmRdHWGObNrcuTRxyNEn7deSq2cru0vj0583HYQZHsAqcs7FE+hQyX3mjIV7LAfHCvy8w==" }, "@puppeteer/browsers": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-0.5.0.tgz", - "integrity": "sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.7.1.tgz", + "integrity": "sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==", "dev": true, "requires": { "debug": "4.3.4", "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "tar-fs": "2.1.1", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", "unbzip2-stream": "1.4.3", "yargs": "17.7.1" }, @@ -36947,6 +37062,28 @@ "ansi-regex": "^5.0.1" } }, + "tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dev": true, + "requires": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -42255,12 +42392,21 @@ "dev": true }, "chromium-bidi": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.7.tgz", - "integrity": "sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ==", + "version": "0.4.31", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.31.tgz", + "integrity": "sha512-OtvEg2JMRQrHsmLx4FV3u1Hf9waYxB5PmL+yM0HkFpc9H2x3TMbUqS+GP2/fC4399hzOO+EQF8uVU43By9ILag==", "dev": true, "requires": { - "mitt": "3.0.0" + "mitt": "3.0.1", + "urlpattern-polyfill": "9.0.0" + }, + "dependencies": { + "mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + } } }, "ci-info": { @@ -47176,14 +47322,14 @@ } }, "grunt-contrib-qunit": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-7.0.1.tgz", - "integrity": "sha512-+5eL4qv2H8q6he+2HGDkqbKwAulRUrtMaX5NoY2AwwvbA4d4OqsI1YGiUZ0L/O9oL7nUQ1cxGKeOp+TcE/AYUg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-8.0.1.tgz", + "integrity": "sha512-bkkOtNVWrP92ZCBPDFX6j3pt3EMHJPj/Pq2ZPbZODlapKAbbl0qwwib29oJVqKeJA+MyO4RtmWSQDYZuiIADeA==", "dev": true, "requires": { "eventemitter2": "^6.4.9", "p-each-series": "^2.2.0", - "puppeteer": "^19.7.0" + "puppeteer": "^21.1.0" }, "dependencies": { "eventemitter2": { @@ -54797,6 +54943,59 @@ } } }, + "proxy-agent": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", + "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + } + } + }, "proxy-compare": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.3.0.tgz", @@ -54843,17 +55042,14 @@ "dev": true }, "puppeteer": { - "version": "19.11.1", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-19.11.1.tgz", - "integrity": "sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==", + "version": "21.3.8", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.3.8.tgz", + "integrity": "sha512-4OrInVIAtDgcznENUV4Du4gYSZhRmbCkckvOoPstXrUH4JsQ3atSegY+9f/tOKCDB2qh7sXaszDcFEn+RymY0g==", "dev": true, "requires": { - "@puppeteer/browsers": "0.5.0", - "cosmiconfig": "8.1.3", - "https-proxy-agent": "5.0.1", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "puppeteer-core": "19.11.1" + "@puppeteer/browsers": "1.7.1", + "cosmiconfig": "8.3.6", + "puppeteer-core": "21.3.8" }, "dependencies": { "argparse": { @@ -54863,21 +55059,30 @@ "dev": true }, "cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "requires": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" } }, + "cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dev": true, + "requires": { + "node-fetch": "^2.6.12" + } + }, "devtools-protocol": { - "version": "0.0.1107588", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1107588.tgz", - "integrity": "sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==", + "version": "0.0.1179426", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1179426.tgz", + "integrity": "sha512-KKC7IGwdOr7u9kTGgjUvGTov/z1s2H7oHi3zKCdR9eSDyCPia5CBi4aRhtp7d8uR7l0GS5UTDw3TjKGu5CqINg==", "dev": true }, "js-yaml": { @@ -54889,29 +55094,33 @@ "argparse": "^2.0.1" } }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "puppeteer-core": { - "version": "19.11.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.11.1.tgz", - "integrity": "sha512-qcuC2Uf0Fwdj9wNtaTZ2OvYRraXpAK+puwwVW8ofOhOgLPZyz1c68tsorfIZyCUOpyBisjr+xByu7BMbEYMepA==", + "version": "21.3.8", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.3.8.tgz", + "integrity": "sha512-yv12E/+zZ7Lei5tJB4sUkSrsuqKibuYpYxLGbmtLUjjYIqGE5HKz9OUI2I/RFHEvF+pHi2bTbv5bWydeCGJ6Mw==", "dev": true, "requires": { - "@puppeteer/browsers": "0.5.0", - "chromium-bidi": "0.4.7", - "cross-fetch": "3.1.5", + "@puppeteer/browsers": "1.7.1", + "chromium-bidi": "0.4.31", + "cross-fetch": "4.0.0", "debug": "4.3.4", - "devtools-protocol": "0.0.1107588", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "proxy-from-env": "1.1.0", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.13.0" + "devtools-protocol": "0.0.1179426", + "ws": "8.14.2" } }, "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true } } @@ -58625,6 +58834,12 @@ "dev": true, "optional": true }, + "urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", + "dev": true + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", diff --git a/package.json b/package.json index 80b7fd84707fa..4587765dad018 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "grunt-contrib-cssmin": "~5.0.0", "grunt-contrib-imagemin": "~4.0.0", "grunt-contrib-jshint": "3.2.0", - "grunt-contrib-qunit": "~7.0.1", + "grunt-contrib-qunit": "~8.0.1", "grunt-contrib-uglify": "~5.2.2", "grunt-contrib-watch": "~1.1.0", "grunt-file-append": "0.0.7", From 1e96fea4ea325b593543a1d807fb037ccf4d36c3 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:24:29 -0400 Subject: [PATCH 17/45] Remove specific branch checkout. --- .github/workflows/test-gutenberg-build-process-run.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 9dd9a7b7e82a3..3b1ea4375a9e5 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -44,7 +44,6 @@ jobs: uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0 with: repository: 'WordPress/gutenberg' - ref: 'wp/6.4' path: ${{ env.GUTENBERG_DIRECTORY }} show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} From 0177aec3b62b9f50e801c45a16a31bc36a73146c Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:34:23 -0400 Subject: [PATCH 18/45] Test running the plugin from `build` too. --- .github/workflows/test-build-processes.yml | 2 ++ .../test-gutenberg-build-process-run.yml | 17 +++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index f53a11e7145ca..f6cf89f4addf9 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -84,6 +84,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, windows-latest ] + directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} @@ -105,6 +106,7 @@ jobs: fail-fast: false matrix: os: [ macos-latest ] + directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 3b1ea4375a9e5..47739b1fe1fbe 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -11,9 +11,14 @@ on: required: false type: 'string' default: 'ubuntu-latest' + directory: + description: 'Directory to run WordPress out of. Valid values are src or build' + required: false + type: 'string' + default: 'src' env: - GUTENBERG_DIRECTORY: 'src/wp-content/plugins/gutenberg' + GUTENBERG_DIRECTORY: ${{ inputs.directory == 'build' && 'build' || 'src' }}/wp-content/plugins/gutenberg jobs: # Verifies that installing npm dependencies and building the Gutenberg plugin works as expected. @@ -30,7 +35,7 @@ jobs: # - Builds WordPress to run from the `src` directory. # - Runs the Gutenberg build process. build-process-tests: - name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Gutenberg Build Process + name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Gutenberg Build Process from ${{ inputs.directory }} runs-on: ${{ inputs.os }} timeout-minutes: 30 @@ -54,7 +59,7 @@ jobs: cache: npm cache-dependency-path: | package-lock.json - src/wp-content/plugins/gutenberg/package-lock.json + ${{ env.GUTENBERG_DIRECTORY }}/package-lock.json - name: Log debug information run: | @@ -79,9 +84,9 @@ jobs: run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} - - name: Build WordPress in /src - run: npm run build:dev + - name: Build WordPress in ${{ inputs.directory }} + run: npm run build${{ inputs.directory == 'src' && ':dev' }} - - name: Run Gutenberg build script after building Core to run from src/ + - name: Run Gutenberg build script after building Core to run from ${{ inputs.directory }} run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} From ddedd5d6a8fe2fafa7db22e7b8e0e735bc734a37 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:35:39 -0400 Subject: [PATCH 19/45] Past test directory to workflow. --- .github/workflows/test-build-processes.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index f6cf89f4addf9..d2197c2c8dc01 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -87,6 +87,7 @@ jobs: directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} + directory: ${{ matrix.directory }} # Creates a job to test the Gutenberg plugin build process on MacOS. # From 345d3d3021f5dc1407f3870ec6515d69e90bb12d Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:42:32 -0400 Subject: [PATCH 20/45] Update the Core build process tests to run src and build tests in parallel. --- .github/workflows/test-build-processes.yml | 4 +++ .../workflows/test-core-build-process-run.yml | 30 +++++++------------ 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index d2197c2c8dc01..814493a299732 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -49,8 +49,10 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, windows-latest ] + directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} + directory: ${{ matrix.directory }} # Creates a job to test the WordPress Core build process on MacOS. # @@ -70,8 +72,10 @@ jobs: fail-fast: false matrix: os: [ macos-latest ] + directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} + directory: ${{ matrix.directory }} # Creates a job to test the Gutenberg plugin build process on multiple operating systems. test-gutenberg-build-process: diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/test-core-build-process-run.yml index 112e1966b2e32..46432fa480d7f 100644 --- a/.github/workflows/test-core-build-process-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -11,7 +11,11 @@ on: required: false type: 'string' default: 'ubuntu-latest' - + directory: + description: 'Directory to run WordPress out of. Valid values are src or build' + required: false + type: 'string' + default: 'src' jobs: # Verifies that installing npm dependencies and building WordPress works as expected. # @@ -20,14 +24,11 @@ jobs: # - Sets up Node.js. # - Logs debug information about the GitHub Action runner. # - Installs npm dependencies. - # - Builds WordPress to run from the `build` directory. - # - Cleans up after building WordPress to the `build` directory. - # - Ensures version-controlled files are not modified or deleted. - # - Builds WordPress to run from the `src` directory. - # - Cleans up after building WordPress to the `src` directory. + # - Builds WordPress to run from the desired location (src or build). + # - Cleans up after building WordPress. # - Ensures version-controlled files are not modified or deleted. build-process-tests: - name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Core Build Process + name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Core Build Process for ${{ inputs.directory }} runs-on: ${{ inputs.os }} timeout-minutes: 20 @@ -54,20 +55,11 @@ jobs: - name: Install npm Dependencies run: npm ci - - name: Build WordPress in /src - run: npm run build:dev + - name: Build WordPress in ${{ inputs.directory }} + run: npm run build${{ inputs.directory == 'src' && ':dev' }} - name: Clean after building in /src - run: npm run grunt clean -- --dev - - - name: Ensure version-controlled files are not modified or deleted during building and cleaning - run: git diff --exit-code - - - name: Build WordPress - run: npm run build - - - name: Clean after building - run: npm run grunt clean + run: npm run grunt clean${{ inputs.directory == 'src' && ' -- --dev' }} - name: Ensure version-controlled files are not modified or deleted during building and cleaning run: git diff --exit-code From 3a6131e45001da85dc5190d9718a147958e660d3 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:42:54 -0400 Subject: [PATCH 21/45] Update inline docs for GB workflow. --- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 47739b1fe1fbe..2685d484436c0 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -32,7 +32,7 @@ jobs: # - Runs the Gutenberg build process. # - Installs Core npm dependencies. # - Runs the Gutenberg build process. - # - Builds WordPress to run from the `src` directory. + # - Builds WordPress to run from the relevant location (src or build). # - Runs the Gutenberg build process. build-process-tests: name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Gutenberg Build Process from ${{ inputs.directory }} From a58a67cf641dc3db0e52f5642ec6d2f0c2d962fd Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:43:59 -0400 Subject: [PATCH 22/45] Add missing input for MacOS GB tests. --- .github/workflows/test-build-processes.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 814493a299732..fd98f48e6ed92 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -114,6 +114,7 @@ jobs: directory: [ 'src', 'build' ] with: os: ${{ matrix.os }} + directory: ${{ matrix.directory }} slack-notifications: name: Slack Notifications From 103befaa7f9f09a2006271863c58c27dd4ee2efc Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:45:03 -0400 Subject: [PATCH 23/45] Change confusing step name. --- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 2685d484436c0..8215d55354148 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -84,7 +84,7 @@ jobs: run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} - - name: Build WordPress in ${{ inputs.directory }} + - name: Build WordPress to run from ${{ inputs.directory }} run: npm run build${{ inputs.directory == 'src' && ':dev' }} - name: Run Gutenberg build script after building Core to run from ${{ inputs.directory }} From b9d3e6950e3b3b46242f6eafa19ef0e44c849239 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 14:48:33 -0400 Subject: [PATCH 24/45] Fix conditional issues. --- .github/workflows/test-core-build-process-run.yml | 4 ++-- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/test-core-build-process-run.yml index 46432fa480d7f..26d3ad71589d6 100644 --- a/.github/workflows/test-core-build-process-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -56,10 +56,10 @@ jobs: run: npm ci - name: Build WordPress in ${{ inputs.directory }} - run: npm run build${{ inputs.directory == 'src' && ':dev' }} + run: npm run build${{ inputs.directory == 'src' && ':dev' || '' }} - name: Clean after building in /src - run: npm run grunt clean${{ inputs.directory == 'src' && ' -- --dev' }} + run: npm run grunt clean${{ inputs.directory == 'src' && ' -- --dev' || '' }} - name: Ensure version-controlled files are not modified or deleted during building and cleaning run: git diff --exit-code diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 8215d55354148..df5343283b926 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -85,7 +85,7 @@ jobs: working-directory: ${{ env.GUTENBERG_DIRECTORY }} - name: Build WordPress to run from ${{ inputs.directory }} - run: npm run build${{ inputs.directory == 'src' && ':dev' }} + run: npm run build${{ inputs.directory == 'src' && ':dev' || '' }} - name: Run Gutenberg build script after building Core to run from ${{ inputs.directory }} run: npm run build From 2d043a2626336cd6e167253b21ad36a6958334a3 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 15:04:38 -0400 Subject: [PATCH 25/45] The OS for the MacOS jobs will always be MacOS. --- .github/workflows/test-build-processes.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index fd98f48e6ed92..ecb1c6c393481 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -63,7 +63,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: - name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: MacOS uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -102,7 +102,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-gutenberg-build-process-macos: - name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: MacOS uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read From 071791d6429042fb8f6d100ad118aa8cbb49d04e Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 15:05:29 -0400 Subject: [PATCH 26/45] Downgrade problematic package. --- package-lock.json | 435 ++++++++++++---------------------------------- package.json | 2 +- 2 files changed, 111 insertions(+), 326 deletions(-) diff --git a/package-lock.json b/package-lock.json index 58a5494242e47..7b70851a24995 100644 --- a/package-lock.json +++ b/package-lock.json @@ -128,7 +128,7 @@ "grunt-contrib-cssmin": "~5.0.0", "grunt-contrib-imagemin": "~4.0.0", "grunt-contrib-jshint": "3.2.0", - "grunt-contrib-qunit": "~8.0.1", + "grunt-contrib-qunit": "~7.0.1", "grunt-contrib-uglify": "~5.2.2", "grunt-contrib-watch": "~1.1.0", "grunt-file-append": "0.0.7", @@ -3933,16 +3933,17 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.7.1.tgz", - "integrity": "sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-0.5.0.tgz", + "integrity": "sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==", "dev": true, "dependencies": { "debug": "4.3.4", "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", "progress": "2.0.3", - "proxy-agent": "6.3.1", - "tar-fs": "3.0.4", + "proxy-from-env": "1.1.0", + "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", "yargs": "17.7.1" }, @@ -3950,7 +3951,15 @@ "browsers": "lib/cjs/main-cli.js" }, "engines": { - "node": ">=16.3.0" + "node": ">=14.1.0" + }, + "peerDependencies": { + "typescript": ">= 4.7.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@puppeteer/browsers/node_modules/ansi-regex": { @@ -4050,28 +4059,6 @@ "node": ">=8" } }, - "node_modules/@puppeteer/browsers/node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", - "dev": true, - "dependencies": { - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - } - }, - "node_modules/@puppeteer/browsers/node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "dev": true, - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, "node_modules/@puppeteer/browsers/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -11025,24 +11012,17 @@ } }, "node_modules/chromium-bidi": { - "version": "0.4.31", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.31.tgz", - "integrity": "sha512-OtvEg2JMRQrHsmLx4FV3u1Hf9waYxB5PmL+yM0HkFpc9H2x3TMbUqS+GP2/fC4399hzOO+EQF8uVU43By9ILag==", + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.7.tgz", + "integrity": "sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ==", "dev": true, "dependencies": { - "mitt": "3.0.1", - "urlpattern-polyfill": "9.0.0" + "mitt": "3.0.0" }, "peerDependencies": { "devtools-protocol": "*" } }, - "node_modules/chromium-bidi/node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "dev": true - }, "node_modules/ci-info": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", @@ -17434,17 +17414,17 @@ } }, "node_modules/grunt-contrib-qunit": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-8.0.1.tgz", - "integrity": "sha512-bkkOtNVWrP92ZCBPDFX6j3pt3EMHJPj/Pq2ZPbZODlapKAbbl0qwwib29oJVqKeJA+MyO4RtmWSQDYZuiIADeA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-7.0.1.tgz", + "integrity": "sha512-+5eL4qv2H8q6he+2HGDkqbKwAulRUrtMaX5NoY2AwwvbA4d4OqsI1YGiUZ0L/O9oL7nUQ1cxGKeOp+TcE/AYUg==", "dev": true, "dependencies": { "eventemitter2": "^6.4.9", "p-each-series": "^2.2.0", - "puppeteer": "^21.1.0" + "puppeteer": "^19.7.0" }, "engines": { - "node": ">=16" + "node": ">=14" } }, "node_modules/grunt-contrib-qunit/node_modules/eventemitter2": { @@ -27729,72 +27709,6 @@ "node": ">= 0.10" } }, - "node_modules/proxy-agent": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", - "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-agent/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-agent/node_modules/http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/proxy-compare": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.3.0.tgz", @@ -27850,18 +27764,18 @@ } }, "node_modules/puppeteer": { - "version": "21.3.8", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.3.8.tgz", - "integrity": "sha512-4OrInVIAtDgcznENUV4Du4gYSZhRmbCkckvOoPstXrUH4JsQ3atSegY+9f/tOKCDB2qh7sXaszDcFEn+RymY0g==", + "version": "19.11.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-19.11.1.tgz", + "integrity": "sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==", "dev": true, "hasInstallScript": true, "dependencies": { - "@puppeteer/browsers": "1.7.1", - "cosmiconfig": "8.3.6", - "puppeteer-core": "21.3.8" - }, - "engines": { - "node": ">=16.3.0" + "@puppeteer/browsers": "0.5.0", + "cosmiconfig": "8.1.3", + "https-proxy-agent": "5.0.1", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "puppeteer-core": "19.11.1" } }, "node_modules/puppeteer-core": { @@ -27930,14 +27844,14 @@ "dev": true }, "node_modules/puppeteer/node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", "dev": true, "dependencies": { - "import-fresh": "^3.3.0", + "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", + "parse-json": "^5.0.0", "path-type": "^4.0.0" }, "engines": { @@ -27945,29 +27859,12 @@ }, "funding": { "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/puppeteer/node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dev": true, - "dependencies": { - "node-fetch": "^2.6.12" } }, "node_modules/puppeteer/node_modules/devtools-protocol": { - "version": "0.0.1179426", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1179426.tgz", - "integrity": "sha512-KKC7IGwdOr7u9kTGgjUvGTov/z1s2H7oHi3zKCdR9eSDyCPia5CBi4aRhtp7d8uR7l0GS5UTDw3TjKGu5CqINg==", + "version": "0.0.1107588", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1107588.tgz", + "integrity": "sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==", "dev": true }, "node_modules/puppeteer/node_modules/js-yaml": { @@ -27982,47 +27879,40 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/puppeteer/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/puppeteer/node_modules/puppeteer-core": { + "version": "19.11.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.11.1.tgz", + "integrity": "sha512-qcuC2Uf0Fwdj9wNtaTZ2OvYRraXpAK+puwwVW8ofOhOgLPZyz1c68tsorfIZyCUOpyBisjr+xByu7BMbEYMepA==", "dev": true, "dependencies": { - "whatwg-url": "^5.0.0" + "@puppeteer/browsers": "0.5.0", + "chromium-bidi": "0.4.7", + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.1107588", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "proxy-from-env": "1.1.0", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.13.0" }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">=14.14.0" }, "peerDependencies": { - "encoding": "^0.1.0" + "typescript": ">= 4.7.4" }, "peerDependenciesMeta": { - "encoding": { + "typescript": { "optional": true } } }, - "node_modules/puppeteer/node_modules/puppeteer-core": { - "version": "21.3.8", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.3.8.tgz", - "integrity": "sha512-yv12E/+zZ7Lei5tJB4sUkSrsuqKibuYpYxLGbmtLUjjYIqGE5HKz9OUI2I/RFHEvF+pHi2bTbv5bWydeCGJ6Mw==", - "dev": true, - "dependencies": { - "@puppeteer/browsers": "1.7.1", - "chromium-bidi": "0.4.31", - "cross-fetch": "4.0.0", - "debug": "4.3.4", - "devtools-protocol": "0.0.1179426", - "ws": "8.14.2" - }, - "engines": { - "node": ">=16.3.0" - } - }, "node_modules/puppeteer/node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, "engines": { "node": ">=10.0.0" @@ -32854,12 +32744,6 @@ "node": ">= 4" } }, - "node_modules/urlpattern-polyfill": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", - "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", - "dev": true - }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -36975,16 +36859,17 @@ "integrity": "sha512-U2diO1Z4i1n2IoFgMYmRdHWGObNrcuTRxyNEn7deSq2cru0vj0583HYQZHsAqcs7FE+hQyX3mjIV7LAfHCvy8w==" }, "@puppeteer/browsers": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.7.1.tgz", - "integrity": "sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-0.5.0.tgz", + "integrity": "sha512-Uw6oB7VvmPRLE4iKsjuOh8zgDabhNX67dzo8U/BB0f9527qx+4eeUs+korU98OhG5C4ubg7ufBgVi63XYwS6TQ==", "dev": true, "requires": { "debug": "4.3.4", "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", "progress": "2.0.3", - "proxy-agent": "6.3.1", - "tar-fs": "3.0.4", + "proxy-from-env": "1.1.0", + "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", "yargs": "17.7.1" }, @@ -37062,28 +36947,6 @@ "ansi-regex": "^5.0.1" } }, - "tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", - "dev": true, - "requires": { - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - } - }, - "tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "dev": true, - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -42392,21 +42255,12 @@ "dev": true }, "chromium-bidi": { - "version": "0.4.31", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.31.tgz", - "integrity": "sha512-OtvEg2JMRQrHsmLx4FV3u1Hf9waYxB5PmL+yM0HkFpc9H2x3TMbUqS+GP2/fC4399hzOO+EQF8uVU43By9ILag==", + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.7.tgz", + "integrity": "sha512-6+mJuFXwTMU6I3vYLs6IL8A1DyQTPjCfIL971X0aMPVGRbGnNfl6i6Cl0NMbxi2bRYLGESt9T2ZIMRM5PAEcIQ==", "dev": true, "requires": { - "mitt": "3.0.1", - "urlpattern-polyfill": "9.0.0" - }, - "dependencies": { - "mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "dev": true - } + "mitt": "3.0.0" } }, "ci-info": { @@ -47322,14 +47176,14 @@ } }, "grunt-contrib-qunit": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-8.0.1.tgz", - "integrity": "sha512-bkkOtNVWrP92ZCBPDFX6j3pt3EMHJPj/Pq2ZPbZODlapKAbbl0qwwib29oJVqKeJA+MyO4RtmWSQDYZuiIADeA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-7.0.1.tgz", + "integrity": "sha512-+5eL4qv2H8q6he+2HGDkqbKwAulRUrtMaX5NoY2AwwvbA4d4OqsI1YGiUZ0L/O9oL7nUQ1cxGKeOp+TcE/AYUg==", "dev": true, "requires": { "eventemitter2": "^6.4.9", "p-each-series": "^2.2.0", - "puppeteer": "^21.1.0" + "puppeteer": "^19.7.0" }, "dependencies": { "eventemitter2": { @@ -54943,59 +54797,6 @@ } } }, - "proxy-agent": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", - "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" - }, - "dependencies": { - "agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dev": true, - "requires": { - "debug": "^4.3.4" - } - }, - "http-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", - "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", - "dev": true, - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - } - }, - "https-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - } - } - }, "proxy-compare": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.3.0.tgz", @@ -55042,14 +54843,17 @@ "dev": true }, "puppeteer": { - "version": "21.3.8", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.3.8.tgz", - "integrity": "sha512-4OrInVIAtDgcznENUV4Du4gYSZhRmbCkckvOoPstXrUH4JsQ3atSegY+9f/tOKCDB2qh7sXaszDcFEn+RymY0g==", + "version": "19.11.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-19.11.1.tgz", + "integrity": "sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==", "dev": true, "requires": { - "@puppeteer/browsers": "1.7.1", - "cosmiconfig": "8.3.6", - "puppeteer-core": "21.3.8" + "@puppeteer/browsers": "0.5.0", + "cosmiconfig": "8.1.3", + "https-proxy-agent": "5.0.1", + "progress": "2.0.3", + "proxy-from-env": "1.1.0", + "puppeteer-core": "19.11.1" }, "dependencies": { "argparse": { @@ -55059,30 +54863,21 @@ "dev": true }, "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", "dev": true, "requires": { - "import-fresh": "^3.3.0", + "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", + "parse-json": "^5.0.0", "path-type": "^4.0.0" } }, - "cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dev": true, - "requires": { - "node-fetch": "^2.6.12" - } - }, "devtools-protocol": { - "version": "0.0.1179426", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1179426.tgz", - "integrity": "sha512-KKC7IGwdOr7u9kTGgjUvGTov/z1s2H7oHi3zKCdR9eSDyCPia5CBi4aRhtp7d8uR7l0GS5UTDw3TjKGu5CqINg==", + "version": "0.0.1107588", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1107588.tgz", + "integrity": "sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==", "dev": true }, "js-yaml": { @@ -55094,33 +54889,29 @@ "argparse": "^2.0.1" } }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, "puppeteer-core": { - "version": "21.3.8", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.3.8.tgz", - "integrity": "sha512-yv12E/+zZ7Lei5tJB4sUkSrsuqKibuYpYxLGbmtLUjjYIqGE5HKz9OUI2I/RFHEvF+pHi2bTbv5bWydeCGJ6Mw==", + "version": "19.11.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.11.1.tgz", + "integrity": "sha512-qcuC2Uf0Fwdj9wNtaTZ2OvYRraXpAK+puwwVW8ofOhOgLPZyz1c68tsorfIZyCUOpyBisjr+xByu7BMbEYMepA==", "dev": true, "requires": { - "@puppeteer/browsers": "1.7.1", - "chromium-bidi": "0.4.31", - "cross-fetch": "4.0.0", + "@puppeteer/browsers": "0.5.0", + "chromium-bidi": "0.4.7", + "cross-fetch": "3.1.5", "debug": "4.3.4", - "devtools-protocol": "0.0.1179426", - "ws": "8.14.2" + "devtools-protocol": "0.0.1107588", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.1", + "proxy-from-env": "1.1.0", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "ws": "8.13.0" } }, "ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true } } @@ -58834,12 +58625,6 @@ "dev": true, "optional": true }, - "urlpattern-polyfill": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", - "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", - "dev": true - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", diff --git a/package.json b/package.json index 4587765dad018..80b7fd84707fa 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "grunt-contrib-cssmin": "~5.0.0", "grunt-contrib-imagemin": "~4.0.0", "grunt-contrib-jshint": "3.2.0", - "grunt-contrib-qunit": "~8.0.1", + "grunt-contrib-qunit": "~7.0.1", "grunt-contrib-uglify": "~5.2.2", "grunt-contrib-watch": "~1.1.0", "grunt-file-append": "0.0.7", From 42ef71368133173071882d6907db8aa128735712 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Mon, 16 Oct 2023 15:16:19 -0400 Subject: [PATCH 27/45] Undo name change for MacOS jobs. Github doesn't like this and lists the matrix values in parenthesis instead. --- .github/workflows/test-build-processes.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index ecb1c6c393481..fd98f48e6ed92 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -63,7 +63,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: - name: MacOS + name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -102,7 +102,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-gutenberg-build-process-macos: - name: MacOS + name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read From cc2064168e2e7db1a5dd2be6e559319b9037d53e Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 08:43:20 -0400 Subject: [PATCH 28/45] Test updating packages to the latest version. --- .../workflows/test-core-build-process-run.yml | 4 ++ .../test-gutenberg-build-process-run.yml | 1 + package-lock.json | 56 +++++++++---------- package.json | 8 +-- 4 files changed, 37 insertions(+), 32 deletions(-) diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/test-core-build-process-run.yml index 26d3ad71589d6..b18976620b479 100644 --- a/.github/workflows/test-core-build-process-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -16,6 +16,10 @@ on: required: false type: 'string' default: 'src' + +env: + PUPPETEER_SKIP_DOWNLOAD: ${{ true }} + jobs: # Verifies that installing npm dependencies and building WordPress works as expected. # diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index df5343283b926..d625fc1c5b656 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -19,6 +19,7 @@ on: env: GUTENBERG_DIRECTORY: ${{ inputs.directory == 'build' && 'build' || 'src' }}/wp-content/plugins/gutenberg + PUPPETEER_SKIP_DOWNLOAD: ${{ true }} jobs: # Verifies that installing npm dependencies and building the Gutenberg plugin works as expected. diff --git a/package-lock.json b/package-lock.json index 8f9ee2ff9c9e2..ed18cf5f34987 100644 --- a/package-lock.json +++ b/package-lock.json @@ -143,11 +143,11 @@ "install-changed": "1.1.0", "jest-image-snapshot": "^6.2.0", "matchdep": "~2.0.0", - "postcss": "8.4.30", + "postcss": "8.4.31", "prettier": "npm:wp-prettier@2.6.2", - "qunit": "~2.19.4", + "qunit": "~2.20.0", "react-refresh": "0.14.0", - "sass": "1.68.0", + "sass": "1.69.3", "sinon": "16.0.0", "sinon-test": "~3.1.5", "source-map-loader": "4.0.1", @@ -155,7 +155,7 @@ "uglify-js": "^3.17.4", "uuid": "9.0.1", "wait-on": "7.0.1", - "webpack": "5.88.2", + "webpack": "5.89.0", "webpack-livereload-plugin": "3.0.2" }, "engines": { @@ -26734,9 +26734,9 @@ } }, "node_modules/postcss": { - "version": "8.4.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", - "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "funding": [ { @@ -27965,9 +27965,9 @@ } }, "node_modules/qunit": { - "version": "2.19.4", - "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.19.4.tgz", - "integrity": "sha512-aqUzzUeCqlleWYKlpgfdHHw9C6KxkB9H3wNfiBg5yHqQMzy0xw/pbCRHYFkjl8MsP/t8qkTQE+JTYL71azgiew==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.20.0.tgz", + "integrity": "sha512-N8Fp1J55waE+QG1KwX2LOyqulZUToRrrPBqDOfYfuAMkEglFL15uwvmH1P4Tq/omQ/mGbBI8PEB3PhIfvUb+jg==", "dev": true, "dependencies": { "commander": "7.2.0", @@ -29358,9 +29358,9 @@ } }, "node_modules/sass": { - "version": "1.68.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz", - "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==", + "version": "1.69.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.3.tgz", + "integrity": "sha512-X99+a2iGdXkdWn1akFPs0ZmelUzyAQfvqYc2P/MPTrJRuIRoTffGzT9W9nFqG00S+c8hXzVmgxhUuHFdrwxkhQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -33071,9 +33071,9 @@ "dev": true }, "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -54123,9 +54123,9 @@ "dev": true }, "postcss": { - "version": "8.4.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", - "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "requires": { "nanoid": "^3.3.6", @@ -54918,9 +54918,9 @@ "dev": true }, "qunit": { - "version": "2.19.4", - "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.19.4.tgz", - "integrity": "sha512-aqUzzUeCqlleWYKlpgfdHHw9C6KxkB9H3wNfiBg5yHqQMzy0xw/pbCRHYFkjl8MsP/t8qkTQE+JTYL71azgiew==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.20.0.tgz", + "integrity": "sha512-N8Fp1J55waE+QG1KwX2LOyqulZUToRrrPBqDOfYfuAMkEglFL15uwvmH1P4Tq/omQ/mGbBI8PEB3PhIfvUb+jg==", "dev": true, "requires": { "commander": "7.2.0", @@ -55958,9 +55958,9 @@ } }, "sass": { - "version": "1.68.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz", - "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==", + "version": "1.69.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.3.tgz", + "integrity": "sha512-X99+a2iGdXkdWn1akFPs0ZmelUzyAQfvqYc2P/MPTrJRuIRoTffGzT9W9nFqG00S+c8hXzVmgxhUuHFdrwxkhQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -58798,9 +58798,9 @@ "dev": true }, "webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", diff --git a/package.json b/package.json index cf828e32274fb..7066ff15dbe3e 100644 --- a/package.json +++ b/package.json @@ -62,11 +62,11 @@ "install-changed": "1.1.0", "jest-image-snapshot": "^6.2.0", "matchdep": "~2.0.0", - "postcss": "8.4.30", + "postcss": "8.4.31", "prettier": "npm:wp-prettier@2.6.2", - "qunit": "~2.19.4", + "qunit": "~2.20.0", "react-refresh": "0.14.0", - "sass": "1.68.0", + "sass": "1.69.3", "sinon": "16.0.0", "sinon-test": "~3.1.5", "source-map-loader": "4.0.1", @@ -74,7 +74,7 @@ "uglify-js": "^3.17.4", "uuid": "9.0.1", "wait-on": "7.0.1", - "webpack": "5.88.2", + "webpack": "5.89.0", "webpack-livereload-plugin": "3.0.2" }, "dependencies": { From b705f41417a0b4ce1a5c09225f10a48b4ba2335b Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:16:15 -0400 Subject: [PATCH 29/45] One last npm audit fix. --- package-lock.json | 92 +++++++++++++++++++++++------------------------ 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index ed18cf5f34987..eb3e83c98978f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -321,12 +321,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", - "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -500,13 +500,13 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -739,9 +739,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", - "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2098,19 +2098,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.20.tgz", - "integrity": "sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "@babel/generator": "^7.23.0", "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.16", - "@babel/types": "^7.22.19", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2119,12 +2119,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.19", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz", - "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.19", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -34195,12 +34195,12 @@ } }, "@babel/generator": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", - "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "requires": { - "@babel/types": "^7.22.15", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -34338,13 +34338,13 @@ } }, "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { @@ -34516,9 +34516,9 @@ } }, "@babel/parser": { - "version": "7.22.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", - "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -35431,30 +35431,30 @@ } }, "@babel/traverse": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.20.tgz", - "integrity": "sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "requires": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "@babel/generator": "^7.23.0", "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.16", - "@babel/types": "^7.22.19", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.22.19", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz", - "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "requires": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.19", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, From c8b51b320c1b4575ab699caf7b064a9e2a1965c4 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:36:57 -0400 Subject: [PATCH 30/45] Run Gutenberg test cases in parallel. --- .github/workflows/test-build-processes.yml | 4 ++++ .../test-gutenberg-build-process-run.yml | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index fd98f48e6ed92..ac36a1e787143 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -89,8 +89,10 @@ jobs: matrix: os: [ ubuntu-latest, windows-latest ] directory: [ 'src', 'build' ] + with-core: [ true, false ] with: os: ${{ matrix.os }} + with-core: ${{ matrix.with-core }} directory: ${{ matrix.directory }} # Creates a job to test the Gutenberg plugin build process on MacOS. @@ -112,8 +114,10 @@ jobs: matrix: os: [ macos-latest ] directory: [ 'src', 'build' ] + with-core: [ true, false ] with: os: ${{ matrix.os }} + with-core: ${{ matrix.with-core }} directory: ${{ matrix.directory }} slack-notifications: diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index d625fc1c5b656..7905489866af2 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -11,6 +11,11 @@ on: required: false type: 'string' default: 'ubuntu-latest' + with-core: + description: 'Whether to test with WordPress Core' + required: false + type: 'boolean' + default: false directory: description: 'Directory to run WordPress out of. Valid values are src or build' required: false @@ -70,6 +75,10 @@ jobs: git --version svn --version + - name: Install Core Dependencies + if: ${{ matrix.with-core }} + run: npm ci + - name: Install Gutenberg Dependencies run: npm ci working-directory: ${{ env.GUTENBERG_DIRECTORY }} @@ -78,16 +87,12 @@ jobs: run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} - - name: Install Core Dependencies - run: npm ci - - - name: Run Gutenberg build script with Core dependencies installed - run: npm run build - working-directory: ${{ env.GUTENBERG_DIRECTORY }} - - name: Build WordPress to run from ${{ inputs.directory }} + if: ${{ matrix.with-core }} + run: npm run build${{ inputs.directory == 'src' && ':dev' || '' }} - name: Run Gutenberg build script after building Core to run from ${{ inputs.directory }} + if: ${{ matrix.with-core }} run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} From 4d2f08c8ca71ee93ee7fa4e0469c4ad24a99eea9 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:40:52 -0400 Subject: [PATCH 31/45] Change grouping of jobs. --- .github/workflows/test-build-processes.yml | 4 ++-- .github/workflows/test-gutenberg-build-process-run.yml | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index ac36a1e787143..1104425849add 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -79,7 +79,7 @@ jobs: # Creates a job to test the Gutenberg plugin build process on multiple operating systems. test-gutenberg-build-process: - name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: Gutenberg ${{ matrix.with-core && ' with Core' || '' }} uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -104,7 +104,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-gutenberg-build-process-macos: - name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: Gutenberg ${{ matrix.with-core && ' with Core' || '' }} uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 7905489866af2..e077fb088a0a0 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -41,7 +41,7 @@ jobs: # - Builds WordPress to run from the relevant location (src or build). # - Runs the Gutenberg build process. build-process-tests: - name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Gutenberg Build Process from ${{ inputs.directory }} + name: Gutenberg ${{ matrix.with-core && ' with Core' || '' }} ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} runs-on: ${{ inputs.os }} timeout-minutes: 30 @@ -89,7 +89,6 @@ jobs: - name: Build WordPress to run from ${{ inputs.directory }} if: ${{ matrix.with-core }} - run: npm run build${{ inputs.directory == 'src' && ':dev' || '' }} - name: Run Gutenberg build script after building Core to run from ${{ inputs.directory }} From 048b80da8807d317b17c9d7da7c46b7b0e77a4ca Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:44:35 -0400 Subject: [PATCH 32/45] Fix typo. --- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index e077fb088a0a0..0c9e52a3993ae 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -41,7 +41,7 @@ jobs: # - Builds WordPress to run from the relevant location (src or build). # - Runs the Gutenberg build process. build-process-tests: - name: Gutenberg ${{ matrix.with-core && ' with Core' || '' }} ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} + name: Gutenberg ${{ inputs.with-core && ' with Core' || '' }} ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} runs-on: ${{ inputs.os }} timeout-minutes: 30 From a519298f898616e80709283de9f16a9ec06770b8 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:46:22 -0400 Subject: [PATCH 33/45] Change core grouping --- .github/workflows/test-build-processes.yml | 4 ++-- .github/workflows/test-core-build-process-run.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 1104425849add..88c49a7099741 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -40,7 +40,7 @@ permissions: {} jobs: # Creates a job to test the WordPress Core build process on multiple operating systems. test-core-build-process: - name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: Core uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -63,7 +63,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: - name: ${{ matrix.os == 'macos-latest' && 'MacOS' || matrix.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: Core uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/test-core-build-process-run.yml index b18976620b479..84431c4d33dd1 100644 --- a/.github/workflows/test-core-build-process-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -32,7 +32,7 @@ jobs: # - Cleans up after building WordPress. # - Ensures version-controlled files are not modified or deleted. build-process-tests: - name: ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} / Core Build Process for ${{ inputs.directory }} + name: Core ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} runs-on: ${{ inputs.os }} timeout-minutes: 20 From 56667cb2469d8b48bec77a19b32b66455223ac34 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:49:20 -0400 Subject: [PATCH 34/45] Change core grouping --- .github/workflows/test-build-processes.yml | 4 ++-- .github/workflows/test-core-build-process-run.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 88c49a7099741..06c4661ffdb19 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -40,7 +40,7 @@ permissions: {} jobs: # Creates a job to test the WordPress Core build process on multiple operating systems. test-core-build-process: - name: Core + name: Core from ${{ matrix.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -63,7 +63,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: - name: Core + name: Core from ${{ matrix.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/test-core-build-process-run.yml index 84431c4d33dd1..3560214f33db7 100644 --- a/.github/workflows/test-core-build-process-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -32,7 +32,7 @@ jobs: # - Cleans up after building WordPress. # - Ensures version-controlled files are not modified or deleted. build-process-tests: - name: Core ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} + name: Core from ${{ inputs.directory }} / ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} runs-on: ${{ inputs.os }} timeout-minutes: 20 From 0e8ef8ca0e9793764963efea50eff31eb4078f80 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:52:58 -0400 Subject: [PATCH 35/45] Fix Gutenberg name splitting. --- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 0c9e52a3993ae..0f1315410191c 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -41,7 +41,7 @@ jobs: # - Builds WordPress to run from the relevant location (src or build). # - Runs the Gutenberg build process. build-process-tests: - name: Gutenberg ${{ inputs.with-core && ' with Core' || '' }} ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} + name: Gutenberg ${{ inputs.with-core && ' with Core' || '' }} / ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} runs-on: ${{ inputs.os }} timeout-minutes: 30 From 624039278a4e049d5db8cfeb30c2d454f49f366f Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 09:55:17 -0400 Subject: [PATCH 36/45] One final job name tweak. --- .github/workflows/test-build-processes.yml | 4 ++-- .github/workflows/test-core-build-process-run.yml | 2 +- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 06c4661ffdb19..e1388ffda64b9 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -40,7 +40,7 @@ permissions: {} jobs: # Creates a job to test the WordPress Core build process on multiple operating systems. test-core-build-process: - name: Core from ${{ matrix.directory }} + name: Core running from ${{ inputs.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -63,7 +63,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: - name: Core from ${{ matrix.directory }} + name: Core running from ${{ inputs.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/test-core-build-process-run.yml index 3560214f33db7..2e6e3722cf1fd 100644 --- a/.github/workflows/test-core-build-process-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -32,7 +32,7 @@ jobs: # - Cleans up after building WordPress. # - Ensures version-controlled files are not modified or deleted. build-process-tests: - name: Core from ${{ inputs.directory }} / ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: Core running from ${{ inputs.directory }} / ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} runs-on: ${{ inputs.os }} timeout-minutes: 20 diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 0f1315410191c..5c024406d37c5 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -41,7 +41,7 @@ jobs: # - Builds WordPress to run from the relevant location (src or build). # - Runs the Gutenberg build process. build-process-tests: - name: Gutenberg ${{ inputs.with-core && ' with Core' || '' }} / ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} from ${{ inputs.directory }} + name: Gutenberg ${{ inputs.with-core && ' with Core' || '' }} / Running from ${{ inputs.directory }} on ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} runs-on: ${{ inputs.os }} timeout-minutes: 30 From cf6544953529a38d3b53b23bdc1b5ecd1322af42 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 10:00:38 -0400 Subject: [PATCH 37/45] Fix typo. --- .github/workflows/test-build-processes.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index e1388ffda64b9..2438d407761a9 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -40,7 +40,7 @@ permissions: {} jobs: # Creates a job to test the WordPress Core build process on multiple operating systems. test-core-build-process: - name: Core running from ${{ inputs.directory }} + name: Core running from ${{ matrix.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -63,7 +63,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: - name: Core running from ${{ inputs.directory }} + name: Core running from ${{ matrix.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing permissions: contents: read From 9232aee32b0ef507b6bd32e2dcb3f4047ceb8287 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 17 Oct 2023 10:16:34 -0400 Subject: [PATCH 38/45] Small bug fixes and documentation clean up. --- .../workflows/test-core-build-process-run.yml | 10 +++++++--- .../test-gutenberg-build-process-run.yml | 17 ++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/test-core-build-process-run.yml index 2e6e3722cf1fd..00024a94bf223 100644 --- a/.github/workflows/test-core-build-process-run.yml +++ b/.github/workflows/test-core-build-process-run.yml @@ -29,6 +29,7 @@ jobs: # - Logs debug information about the GitHub Action runner. # - Installs npm dependencies. # - Builds WordPress to run from the desired location (src or build). + # - Ensures version-controlled files are not modified or deleted. # - Cleans up after building WordPress. # - Ensures version-controlled files are not modified or deleted. build-process-tests: @@ -59,11 +60,14 @@ jobs: - name: Install npm Dependencies run: npm ci - - name: Build WordPress in ${{ inputs.directory }} + - name: Build WordPress to run from ${{ inputs.directory }} run: npm run build${{ inputs.directory == 'src' && ':dev' || '' }} - - name: Clean after building in /src + - name: Ensure version-controlled files are not modified or deleted during building + run: git diff --exit-code + + - name: Clean after building to run from ${{ inputs.directory }} run: npm run grunt clean${{ inputs.directory == 'src' && ' -- --dev' || '' }} - - name: Ensure version-controlled files are not modified or deleted during building and cleaning + - name: Ensure version-controlled files are not modified or deleted during cleaning run: git diff --exit-code diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 5c024406d37c5..6dd7558b16678 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -31,15 +31,15 @@ jobs: # # Performs the following steps: # - Checks out the repository. - # - Checks out the Gutenberg plugin repository. + # - Checks out the Gutenberg plugin repository in the plugins directory. # - Sets up Node.js. # - Logs debug information about the GitHub Action runner. + # - Installs Core npm dependencies if testing with Core. # - Installs npm dependencies for Gutenberg. # - Runs the Gutenberg build process. - # - Installs Core npm dependencies. - # - Runs the Gutenberg build process. - # - Builds WordPress to run from the relevant location (src or build). + # - Builds WordPress to run from the relevant location (src or build) if testing with Core. # - Runs the Gutenberg build process. + # - Ensures version-controlled files are not modified or deleted. build-process-tests: name: Gutenberg ${{ inputs.with-core && ' with Core' || '' }} / Running from ${{ inputs.directory }} on ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} runs-on: ${{ inputs.os }} @@ -76,7 +76,7 @@ jobs: svn --version - name: Install Core Dependencies - if: ${{ matrix.with-core }} + if: ${{ inputs.with-core }} run: npm ci - name: Install Gutenberg Dependencies @@ -88,10 +88,13 @@ jobs: working-directory: ${{ env.GUTENBERG_DIRECTORY }} - name: Build WordPress to run from ${{ inputs.directory }} - if: ${{ matrix.with-core }} + if: ${{ inputs.with-core }} run: npm run build${{ inputs.directory == 'src' && ':dev' || '' }} - name: Run Gutenberg build script after building Core to run from ${{ inputs.directory }} - if: ${{ matrix.with-core }} + if: ${{ inputs.with-core }} run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} + + - name: Ensure version-controlled files are not modified or deleted during building + run: git diff --exit-code From 4fb1bae496b4480396d54a29d05adab3370c7673 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Thu, 19 Oct 2023 10:09:21 -0400 Subject: [PATCH 39/45] Ensure the right version of Node.js is used for Gutenberg. --- .github/workflows/test-gutenberg-build-process-run.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 6dd7558b16678..8a64060455a40 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -79,6 +79,10 @@ jobs: if: ${{ inputs.with-core }} run: npm ci + - name: Check Node.js version + run: nvm install + working-directory: ${{ env.GUTENBERG_DIRECTORY }} + - name: Install Gutenberg Dependencies run: npm ci working-directory: ${{ env.GUTENBERG_DIRECTORY }} From 8b87990baed3f64902ca8e37ca15dd79f98e987e Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Thu, 19 Oct 2023 10:12:16 -0400 Subject: [PATCH 40/45] Remove Node.js check. --- .github/workflows/test-gutenberg-build-process-run.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 8a64060455a40..6dd7558b16678 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -79,10 +79,6 @@ jobs: if: ${{ inputs.with-core }} run: npm ci - - name: Check Node.js version - run: nvm install - working-directory: ${{ env.GUTENBERG_DIRECTORY }} - - name: Install Gutenberg Dependencies run: npm ci working-directory: ${{ env.GUTENBERG_DIRECTORY }} From b4e13c63b6a6e5e8235d938ff472a2bc4d207ea4 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Thu, 19 Oct 2023 10:28:59 -0400 Subject: [PATCH 41/45] Remove the `with-core` control. --- .github/workflows/test-build-processes.yml | 4 ---- .../workflows/test-gutenberg-build-process-run.yml | 14 +++----------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 2438d407761a9..927a8790d7bed 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -89,10 +89,8 @@ jobs: matrix: os: [ ubuntu-latest, windows-latest ] directory: [ 'src', 'build' ] - with-core: [ true, false ] with: os: ${{ matrix.os }} - with-core: ${{ matrix.with-core }} directory: ${{ matrix.directory }} # Creates a job to test the Gutenberg plugin build process on MacOS. @@ -114,10 +112,8 @@ jobs: matrix: os: [ macos-latest ] directory: [ 'src', 'build' ] - with-core: [ true, false ] with: os: ${{ matrix.os }} - with-core: ${{ matrix.with-core }} directory: ${{ matrix.directory }} slack-notifications: diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 6dd7558b16678..8d1a284cbd3c7 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -11,11 +11,6 @@ on: required: false type: 'string' default: 'ubuntu-latest' - with-core: - description: 'Whether to test with WordPress Core' - required: false - type: 'boolean' - default: false directory: description: 'Directory to run WordPress out of. Valid values are src or build' required: false @@ -34,14 +29,14 @@ jobs: # - Checks out the Gutenberg plugin repository in the plugins directory. # - Sets up Node.js. # - Logs debug information about the GitHub Action runner. - # - Installs Core npm dependencies if testing with Core. + # - Installs Core npm dependencies. # - Installs npm dependencies for Gutenberg. # - Runs the Gutenberg build process. - # - Builds WordPress to run from the relevant location (src or build) if testing with Core. + # - Builds WordPress to run from the relevant location (src or build). # - Runs the Gutenberg build process. # - Ensures version-controlled files are not modified or deleted. build-process-tests: - name: Gutenberg ${{ inputs.with-core && ' with Core' || '' }} / Running from ${{ inputs.directory }} on ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: Gutenberg with Core / Running from ${{ inputs.directory }} on ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} runs-on: ${{ inputs.os }} timeout-minutes: 30 @@ -76,7 +71,6 @@ jobs: svn --version - name: Install Core Dependencies - if: ${{ inputs.with-core }} run: npm ci - name: Install Gutenberg Dependencies @@ -88,11 +82,9 @@ jobs: working-directory: ${{ env.GUTENBERG_DIRECTORY }} - name: Build WordPress to run from ${{ inputs.directory }} - if: ${{ inputs.with-core }} run: npm run build${{ inputs.directory == 'src' && ':dev' || '' }} - name: Run Gutenberg build script after building Core to run from ${{ inputs.directory }} - if: ${{ inputs.with-core }} run: npm run build working-directory: ${{ env.GUTENBERG_DIRECTORY }} From 522fe85ceb5468efc1b93ad20a3eabe1fc021de3 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Thu, 19 Oct 2023 10:36:00 -0400 Subject: [PATCH 42/45] Name adjustments. --- .github/workflows/test-build-processes.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 927a8790d7bed..df534e334fe4c 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -79,7 +79,7 @@ jobs: # Creates a job to test the Gutenberg plugin build process on multiple operating systems. test-gutenberg-build-process: - name: Gutenberg ${{ matrix.with-core && ' with Core' || '' }} + name: Gutenberg with Core ${{ matrix.os && '' }} uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -102,7 +102,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-gutenberg-build-process-macos: - name: Gutenberg ${{ matrix.with-core && ' with Core' || '' }} + name: Gutenberg with Core ${{ matrix.os && '' }} uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read From caa18140ae4b191098a092729cb675814a7de217 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Thu, 19 Oct 2023 10:46:05 -0400 Subject: [PATCH 43/45] Regroup Gutenberg tests. --- .github/workflows/test-build-processes.yml | 4 ++-- .github/workflows/test-gutenberg-build-process-run.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index df534e334fe4c..588649290d10a 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -79,7 +79,7 @@ jobs: # Creates a job to test the Gutenberg plugin build process on multiple operating systems. test-gutenberg-build-process: - name: Gutenberg with Core ${{ matrix.os && '' }} + name: Gutenberg running from ${{ matrix.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read @@ -102,7 +102,7 @@ jobs: # currently no way to determine the OS being used on a given job. # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-gutenberg-build-process-macos: - name: Gutenberg with Core ${{ matrix.os && '' }} + name: Gutenberg running from ${{ matrix.directory }} uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing permissions: contents: read diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/test-gutenberg-build-process-run.yml index 8d1a284cbd3c7..5a2fdda0c15f2 100644 --- a/.github/workflows/test-gutenberg-build-process-run.yml +++ b/.github/workflows/test-gutenberg-build-process-run.yml @@ -36,7 +36,7 @@ jobs: # - Runs the Gutenberg build process. # - Ensures version-controlled files are not modified or deleted. build-process-tests: - name: Gutenberg with Core / Running from ${{ inputs.directory }} on ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} + name: Gutenberg running from ${{ inputs.directory }} / ${{ inputs.os == 'macos-latest' && 'MacOS' || inputs.os == 'windows-latest' && 'Windows' || 'Linux' }} runs-on: ${{ inputs.os }} timeout-minutes: 30 From 2a3e248e378fa4bf3c5609283aa69c01748b2206 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Thu, 19 Oct 2023 11:05:36 -0400 Subject: [PATCH 44/45] Move callable workflows into a new directory. --- .../test-core-build-process.yml} | 0 .../test-gutenberg-build-process.yml} | 0 .github/workflows/test-build-processes.yml | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) rename .github/workflows/{test-core-build-process-run.yml => callable/test-core-build-process.yml} (100%) rename .github/workflows/{test-gutenberg-build-process-run.yml => callable/test-gutenberg-build-process.yml} (100%) diff --git a/.github/workflows/test-core-build-process-run.yml b/.github/workflows/callable/test-core-build-process.yml similarity index 100% rename from .github/workflows/test-core-build-process-run.yml rename to .github/workflows/callable/test-core-build-process.yml diff --git a/.github/workflows/test-gutenberg-build-process-run.yml b/.github/workflows/callable/test-gutenberg-build-process.yml similarity index 100% rename from .github/workflows/test-gutenberg-build-process-run.yml rename to .github/workflows/callable/test-gutenberg-build-process.yml diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index 588649290d10a..a1f34c40996b4 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -41,7 +41,7 @@ jobs: # Creates a job to test the WordPress Core build process on multiple operating systems. test-core-build-process: name: Core running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable/test-core-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} @@ -64,7 +64,7 @@ jobs: # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: name: Core running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/test-core-build-process-run.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable/test-core-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' }} @@ -80,7 +80,7 @@ jobs: # Creates a job to test the Gutenberg plugin build process on multiple operating systems. test-gutenberg-build-process: name: Gutenberg running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable/test-gutenberg-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} @@ -103,7 +103,7 @@ jobs: # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-gutenberg-build-process-macos: name: Gutenberg running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/test-gutenberg-build-process-run.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable/test-gutenberg-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' }} From 2488fdd2749472e0f7db0b5ca02af88a850e8e8e Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Thu, 19 Oct 2023 11:07:14 -0400 Subject: [PATCH 45/45] Nesting workflows is not supported. Moving back and changing name. --- ...d-process.yml => callable-test-core-build-process.yml} | 0 ...cess.yml => callable-test-gutenberg-build-process.yml} | 0 .github/workflows/test-build-processes.yml | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) rename .github/workflows/{callable/test-core-build-process.yml => callable-test-core-build-process.yml} (100%) rename .github/workflows/{callable/test-gutenberg-build-process.yml => callable-test-gutenberg-build-process.yml} (100%) diff --git a/.github/workflows/callable/test-core-build-process.yml b/.github/workflows/callable-test-core-build-process.yml similarity index 100% rename from .github/workflows/callable/test-core-build-process.yml rename to .github/workflows/callable-test-core-build-process.yml diff --git a/.github/workflows/callable/test-gutenberg-build-process.yml b/.github/workflows/callable-test-gutenberg-build-process.yml similarity index 100% rename from .github/workflows/callable/test-gutenberg-build-process.yml rename to .github/workflows/callable-test-gutenberg-build-process.yml diff --git a/.github/workflows/test-build-processes.yml b/.github/workflows/test-build-processes.yml index a1f34c40996b4..b1ff0e25b8379 100644 --- a/.github/workflows/test-build-processes.yml +++ b/.github/workflows/test-build-processes.yml @@ -41,7 +41,7 @@ jobs: # Creates a job to test the WordPress Core build process on multiple operating systems. test-core-build-process: name: Core running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/callable/test-core-build-process.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable-test-core-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} @@ -64,7 +64,7 @@ jobs: # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-core-build-process-macos: name: Core running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/callable/test-core-build-process.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable-test-core-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' }} @@ -80,7 +80,7 @@ jobs: # Creates a job to test the Gutenberg plugin build process on multiple operating systems. test-gutenberg-build-process: name: Gutenberg running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/callable/test-gutenberg-build-process.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable-test-gutenberg-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} @@ -103,7 +103,7 @@ jobs: # See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability. test-gutenberg-build-process-macos: name: Gutenberg running from ${{ matrix.directory }} - uses: desrosj/wordpress-develop/.github/workflows/callable/test-gutenberg-build-process.yml@combine/npm-testing + uses: desrosj/wordpress-develop/.github/workflows/callable-test-gutenberg-build-process.yml@combine/npm-testing permissions: contents: read if: ${{ github.repository == 'WordPress/wordpress-develop' }}