From b9834dddbe2a6736b67090743d70f5427fdaa67c Mon Sep 17 00:00:00 2001 From: Jon Surrell Date: Wed, 3 Apr 2024 16:23:29 +0200 Subject: [PATCH 1/6] Build once for all php tests --- .github/workflows/unit-test.yml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index f2ecffae0705a..91d0224a6f1af 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -80,9 +80,28 @@ jobs: echo "previous-wordpress-version=${PREVIOUS_WP_VERSION}" >> $GITHUB_OUTPUT rm versions.json + build-assets: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + with: + show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} + + - name: Setup Node.js and install dependencies + uses: ./.github/setup-node + + - name: Npm build + run: npm run build + + - name: Upload assets + uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + with: + name: build-assets + path: ./build/ + test-php: name: PHP ${{ matrix.php }}${{ matrix.multisite && ' multisite' || '' }}${{ matrix.wordpress != '' && format( ' (WP {0}) ', matrix.wordpress ) || '' }} on ubuntu-latest - needs: compute-previous-wordpress-version + needs: [compute-previous-wordpress-version, build-assets] runs-on: ubuntu-latest timeout-minutes: 20 if: ${{ github.repository == 'WordPress/gutenberg' || github.event_name == 'pull_request' }} @@ -152,13 +171,15 @@ jobs: with: custom-cache-suffix: $(/bin/date -u --date='last Mon' "+%F") - - name: Npm build - run: npm run build - - name: Docker debug information run: | docker -v + - name: Download assets + uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + with: + name: build-assets + - name: General debug information run: | npm --version From cc970f0980c09f09a1cee8938514251e012587b0 Mon Sep 17 00:00:00 2001 From: Jon Surrell Date: Wed, 3 Apr 2024 16:32:41 +0200 Subject: [PATCH 2/6] Fix download path --- .github/workflows/unit-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 91d0224a6f1af..db4585d3d098d 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -179,6 +179,7 @@ jobs: uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: build-assets + path: ./build - name: General debug information run: | From 43492537b843600ced6396ec3460860a0c5c1614 Mon Sep 17 00:00:00 2001 From: Jon Surrell Date: Wed, 3 Apr 2024 17:16:17 +0200 Subject: [PATCH 3/6] Name build-assets job --- .github/workflows/unit-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index db4585d3d098d..4d199d7a3ef09 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -81,6 +81,7 @@ jobs: rm versions.json build-assets: + name: Build JavaScript assets for PHP unit tests runs-on: ubuntu-latest steps: - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 From 6150562e1c99c750562ae3a96484165be53cb293 Mon Sep 17 00:00:00 2001 From: Jon Surrell Date: Wed, 3 Apr 2024 17:43:50 +0200 Subject: [PATCH 4/6] Download the assets where build previously happened --- .github/workflows/unit-test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 4d199d7a3ef09..1dfe77ba00d8c 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -172,16 +172,16 @@ jobs: with: custom-cache-suffix: $(/bin/date -u --date='last Mon' "+%F") - - name: Docker debug information - run: | - docker -v - - name: Download assets uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: build-assets path: ./build + - name: Docker debug information + run: | + docker -v + - name: General debug information run: | npm --version From 8e2ba138c719c3285aaa134fa9bb32ffed722878 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Wed, 3 Apr 2024 14:51:42 -0400 Subject: [PATCH 5/6] Remove SVN debug line. --- .github/workflows/unit-test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 1dfe77ba00d8c..05a2f1d63d5fc 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -188,7 +188,6 @@ jobs: node --version curl --version git --version - svn --version locale -a - name: Start Docker environment From 16e55209456ff8ae2ab2b8be9cdfc620c6de3825 Mon Sep 17 00:00:00 2001 From: Jon Surrell Date: Wed, 3 Apr 2024 21:39:17 +0200 Subject: [PATCH 6/6] Apply suggestions from code review Co-authored-by: Jonathan Desrosiers <359867+desrosj@users.noreply.github.com> --- .github/workflows/unit-test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 05a2f1d63d5fc..292808461bb37 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -91,10 +91,10 @@ jobs: - name: Setup Node.js and install dependencies uses: ./.github/setup-node - - name: Npm build + - name: Run build scripts run: npm run build - - name: Upload assets + - name: Upload built JavaScript assets uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 with: name: build-assets @@ -172,7 +172,7 @@ jobs: with: custom-cache-suffix: $(/bin/date -u --date='last Mon' "+%F") - - name: Download assets + - name: Download built JavaScript assets uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 with: name: build-assets