<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[50320] branches/4.1: Build/Test Tools: Restore automated testing in the 4.1 branch.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/50320">50320</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/50320","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>desrosj</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2021-02-12 20:41:34 +0000 (Fri, 12 Feb 2021)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Build/Test Tools: Restore automated testing in the 4.1 branch.

This commit merges the workflow files required to run automated testing on GitHub Actions.

In addition, <a href="https://core.trac.wordpress.org/changeset/49836">[49836]</a> and <a href="https://core.trac.wordpress.org/changeset/50285">[50285]</a> have been included in order to keep the local Docker environment consistent across all branches.

Merges [49162,49168-49169,49175,49204,49227-49228,49244,49369,49371,49548,49781-49784,49786,49836,49938,50268,50285,50298] to the 4.1 branch.
See <a href="https://core.trac.wordpress.org/ticket/50401">#50401</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branches41env">branches/4.1/.env</a></li>
<li><a href="#branches41githubworkflowscodingstandardsyml">branches/4.1/.github/workflows/coding-standards.yml</a></li>
<li><a href="#branches41githubworkflowsendtoendtestsyml">branches/4.1/.github/workflows/end-to-end-tests.yml</a></li>
<li><a href="#branches41githubworkflowsjavascripttestsyml">branches/4.1/.github/workflows/javascript-tests.yml</a></li>
<li><a href="#branches41githubworkflowsphpcompatibilityyml">branches/4.1/.github/workflows/php-compatibility.yml</a></li>
<li><a href="#branches41githubworkflowsphpunittestsyml">branches/4.1/.github/workflows/phpunit-tests.yml</a></li>
<li><a href="#branches41githubworkflowsverifynpmonwindowsyml">branches/4.1/.github/workflows/verify-npm-on-windows.yml</a></li>
<li><a href="#branches41githubworkflowswelcomenewcontributorsyml">branches/4.1/.github/workflows/welcome-new-contributors.yml</a></li>
<li><a href="#branches41dockercomposeyml">branches/4.1/docker-compose.yml</a></li>
<li><a href="#branches41toolslocalenvscriptsinstalljs">branches/4.1/tools/local-env/scripts/install.js</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>branches/4.1/.github/</li>
<li>branches/4.1/.github/workflows/</li>
</ul>

<h3>Property Changed</h3>
<ul>
<li><a href="#branches41">branches/4.1/</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<span class="cx" style="display: block; padding: 0 10px">Index: branches/4.1
</span><span class="cx" style="display: block; padding: 0 10px">===================================================================
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">--- branches/4.1 2021-02-12 20:36:58 UTC (rev 50319)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+++ branches/4.1  2021-02-12 20:41:34 UTC (rev 50320)
</ins><a id="branches41"></a>
<div class="propset"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Property changes: branches/4.1</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: svn:mergeinfo</h4></div>
<span class="cx" style="display: block; padding: 0 10px"> /branches/4.9:42434,49653
</span><span class="cx" style="display: block; padding: 0 10px"> /branches/5.0:43684-43686,43836,43853,43988,43994,44014,44017,44047
</span><span class="cx" style="display: block; padding: 0 10px"> /branches/5.5:49373-49379,49381
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-/trunk:30801-30813,30817,30821,30823-30824,30828-30847,30849,30852-30857,30860,30865-30869,30871-30874,30879,30884-30891,30893,30896-30897,30899-30901,30903,30905,30907,30910,30912,30921,30929,30932,30944-30946,30951-30956,30961,30967,30971,30985,30991,30993,31010,31023,31071,31073,31140,31179-31180,31203,31251,31253-31254,31257-31259,31273,31329,31339,31342,31360,31362,31386,31390,31425,31429,31432,31504,31557,31648-31650,32356-32357,32988,33124,33142,33726,35363,35513,35521,35538-35541,35859,36083,36435,36861-36865,37017,37019-37020,37212,37612,37651,38111,38524,38757,39110,39113,39115-39117,39360-39361,39478,39645,39659,39759,39772,39795,39807-39808,39831,39850,39956,40148,40160,40169,40183,40241,40400,40538,40604,40677,40692,40704,40723,40736,41072,41393,41395,41398,41457,41470,41483,41496,41522,41662,41712,41835,42056,42119-42120,42258-42261,42424,42433,42460-42461,42463,42887,42892
 -42893,43320,43323,43511-43512,43977,44021,44048,44176,44219,44233,44842,44993,45321,45445,45745,45762,45765,45783-45784,45800,45819,45885,45936,45971,45997,46320,46404,46408-46409,46474-46478,46483,46485,46682,46895,46996,46999,47225,47341,47404,47867,47872-47873,47912,47947-47951,48121,48241,48705,49267,49335,49358,49360,49362,49380,49382-49388,49636,49876,49933,49937,49939,50126,50176,50185
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/trunk:30801-30813,30817,30821,30823-30824,30828-30847,30849,30852-30857,30860,30865-30869,30871-30874,30879,30884-30891,30893,30896-30897,30899-30901,30903,30905,30907,30910,30912,30921,30929,30932,30944-30946,30951-30956,30961,30967,30971,30985,30991,30993,31010,31023,31071,31073,31140,31179-31180,31203,31251,31253-31254,31257-31259,31273,31329,31339,31342,31360,31362,31386,31390,31425,31429,31432,31504,31557,31648-31650,32356-32357,32988,33124,33142,33726,35363,35513,35521,35538-35541,35859,36083,36435,36861-36865,37017,37019-37020,37212,37612,37651,38111,38524,38757,39110,39113,39115-39117,39360-39361,39478,39645,39659,39759,39772,39795,39807-39808,39831,39850,39956,40148,40160,40169,40183,40241,40400,40538,40604,40677,40692,40704,40723,40736,41072,41393,41395,41398,41457,41470,41483,41496,41522,41662,41712,41835,42056,42119-42120,42258-42261,42424,42433,42460-42461,42463,42887,42892
 -42893,43320,43323,43511-43512,43977,44021,44048,44176,44219,44233,44842,44993,45321,45445,45745,45762,45765,45783-45784,45800,45819,45885,45936,45971,45997,46320,46404,46408-46409,46474-46478,46483,46485,46682,46895,46996,46999,47225,47341,47404,47867,47872-47873,47912,47947-47951,48121,48241,48705,49162,49168-49169,49175,49204,49227-49228,49244,49267,49335,49358,49360,49362,49369,49371,49380,49382-49388,49548,49636,49781-49784,49786,49836,49876,49933,49937-49939,50126,50176,50185,50268,50285,50298
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches41env"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.env</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.1/.env 2021-02-12 20:36:58 UTC (rev 50319)
+++ branches/4.1/.env   2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -45,9 +45,23 @@
</span><span class="cx" style="display: block; padding: 0 10px"> # Whether or not to enable Memcached.
</span><span class="cx" style="display: block; padding: 0 10px"> LOCAL_PHP_MEMCACHED=false
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-# The MySQL version to use. See https://hub.docker.com/_/mysql/ for valid versions.
-LOCAL_MYSQL=5.6
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+##
+# The database software to use.
+#
+# Supported values are `mysql` and `mariadb`.
+##
+LOCAL_DB_TYPE=mysql
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+##
+# The database version to use.
+#
+# Defaults to 5.6 with the assumption that LOCAL_DB_TYPE is set to `mysql` above.
+#
+# When using `mysql`, see https://hub.docker.com/_/mysql/ for valid versions.
+# When using `mariadb`, see https://hub.docker.com/_/mariadb for valid versions.
+##
+LOCAL_DB_VERSION=5.6
+
</ins><span class="cx" style="display: block; padding: 0 10px"> # The debug settings to add to `wp-config.php`.
</span><span class="cx" style="display: block; padding: 0 10px"> LOCAL_WP_DEBUG=true
</span><span class="cx" style="display: block; padding: 0 10px"> LOCAL_WP_DEBUG_LOG=true
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -57,3 +71,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> # The URL to use when running e2e tests.
</span><span class="cx" style="display: block; padding: 0 10px"> WP_BASE_URL=http://localhost:${LOCAL_PORT}
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+##
+# The revision number of the WordPress Importer plugin to use when running unit tests.
+#
+# This should be an SVN revision number from the official plugin repository on wordpress.org.
+##
+WP_IMPORTER_REVISION=2387243
</ins></span></pre></div>
<a id="branches41githubworkflowscodingstandardsyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.github/workflows/coding-standards.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/coding-standards.yml      2020-10-15 19:40:33 UTC (rev 49162)
+++ branches/4.1/.github/workflows/coding-standards.yml 2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4,87 +4,36 @@
</span><span class="cx" style="display: block; padding: 0 10px">   push:
</span><span class="cx" style="display: block; padding: 0 10px">     branches:
</span><span class="cx" style="display: block; padding: 0 10px">       - master
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      # JSHint was introduced in WordPress 3.8.
</ins><span class="cx" style="display: block; padding: 0 10px">       # PHPCS checking was introduced in WordPress 5.1.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - '5.[1-9]'
-      - '[6-9].*'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - '3.[89]'
+      - '[4-9].[0-9]'
+    tags:
+      - '3.[89]*'
+      - '[4-9].[0-9]*'
</ins><span class="cx" style="display: block; padding: 0 10px">   pull_request:
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> jobs:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # Runs PHP coding standards checks.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # Runs the JavaScript coding standards checks.
</ins><span class="cx" style="display: block; padding: 0 10px">   #
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # Violations are reported inline with annotations.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # JSHint violations are not currently reported inline with annotations.
</ins><span class="cx" style="display: block; padding: 0 10px">   #
</span><span class="cx" style="display: block; padding: 0 10px">   # Performs the following steps:
</span><span class="cx" style="display: block; padding: 0 10px">   # - Checks out the repository.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Configures caching for Composer.
-  # - Sets up PHP.
-  # - Logs debug information.
-  # - Installs Composer dependencies (from cache if possible).
-  # - Logs PHP_CodeSniffer debug information.
-  # - Runs PHPCS on the full codebase with warnings suppressed.
-  # - Runs PHPCS on the `tests` directory without warnings suppressed.
-  # - todo: Configure Slack notifications for failing scans.
-  phpcs:
-    name: PHP coding standards
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout repository
-        uses: actions/checkout@v2
-
-      - name: Get Composer cache directory
-        id: composer-cache
-        run: echo "::set-output name=dir::$(composer config cache-files-dir)"
-
-      - name: Set up Composer caching
-        uses: actions/cache@v2
-        env:
-          cache-name: cache-composer-dependencies
-        with:
-          path: ${{ steps.composer-cache.outputs.dir }}
-          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
-          restore-keys: |
-            ${{ runner.os }}-composer-
-
-      - name: Set up PHP
-        uses: shivammathur/setup-php@v2
-        with:
-          php-version: '7.4'
-          coverage: none
-          tools: composer, cs2pr
-
-      - name: Log debug information
-        run: |
-          php --version
-          composer --version
-
-      - name: Install Composer dependencies
-        run: |
-          composer install --prefer-dist --no-suggest --no-progress --no-ansi --no-interaction
-          echo "vendor/bin" >> $GITHUB_PATH
-
-      - name: Log PHPCS debug information
-        run: phpcs -i
-
-      - name: Run PHPCS on all Core files
-        run: vendor/bin/phpcs -q -n --report=checkstyle | cs2pr
-
-      - name: Check test suite files for warnings
-        run: vendor/bin/phpcs tests -q --report=checkstyle | cs2pr
-
-  # Runs the JavaScript coding standards checks.
-  #
-  # Performs the following steps:
-  # - Checks out the repository.
</del><span class="cx" style="display: block; padding: 0 10px">   # - Logs debug information about the runner container.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Installs NodeJS 14.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Sets up caching for NPM.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs updated debug information.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # _ Installs NPM dependencies.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Run the WordPress JSHint checks.
</span><span class="cx" style="display: block; padding: 0 10px">   # - todo: Configure Slack notifications for failing tests.
</span><span class="cx" style="display: block; padding: 0 10px">   jshint:
</span><span class="cx" style="display: block; padding: 0 10px">     name: JavaScript coding standards
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: ubuntu-latest
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+    env:
+      PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
+
</ins><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Checkout repository
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/checkout@v2
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -99,7 +48,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install NodeJS
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@v1
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          node-version: 12
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          node-version: 14
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Cache NodeJS modules
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/cache@v2
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -118,7 +67,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">           node --version
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: npm ci
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        run: npx install-changed --install-command="npm ci"
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Run JSHint
</span><span class="cx" style="display: block; padding: 0 10px">         run: npm run grunt jshint
</span></span></pre></div>
<a id="branches41githubworkflowsendtoendtestsyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.github/workflows/end-to-end-tests.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/end-to-end-tests.yml      2020-10-15 19:40:33 UTC (rev 49162)
+++ branches/4.1/.github/workflows/end-to-end-tests.yml 2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6,7 +6,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - master
</span><span class="cx" style="display: block; padding: 0 10px">       # The end to end test suite was introduced in WordPress 5.3.
</span><span class="cx" style="display: block; padding: 0 10px">       - '5.[3-9]'
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - '[6-9].*'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - '[6-9].[0-9]'
+    tags:
+      - '5.[3-9]*'
+      - '[6-9].[0-9]*'
</ins><span class="cx" style="display: block; padding: 0 10px">   pull_request:
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> env:
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -16,18 +19,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">   # Runs the end-to-end test suite.
</span><span class="cx" style="display: block; padding: 0 10px">   #
</span><span class="cx" style="display: block; padding: 0 10px">   # Performs the following steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Cancels all previous workflow runs that have not completed.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Cancels all previous workflow runs for pull requests that have not completed.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Set environment variables.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Checks out the repository.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs debug information about the runner container.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Installs NodeJS 14.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Sets up caching for NPM.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # _ Installs NPM dependencies.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Builds WordPress to run from the `build` directory.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Starts the WordPress Docker container.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs general debug information.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs the running Docker containers.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Logs Docker debug information (about both the Docker installation within the runner and the WordPress container)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Logs Docker debug information (about both the Docker installation within the runner and the WordPress container).
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Install WordPress within the Docker container.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Run the E2E tests.
</span><span class="cx" style="display: block; padding: 0 10px">   # - todo: Configure Slack notifications for failing tests.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -34,8 +37,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">   e2e-tests:
</span><span class="cx" style="display: block; padding: 0 10px">     name: E2E Tests
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: ubuntu-latest
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
</ins><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Cancel previous runs of this workflow
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
</ins><span class="cx" style="display: block; padding: 0 10px">         uses: styfle/cancel-workflow-action@0.5.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="cx" style="display: block; padding: 0 10px">           access_token: ${{ github.token }}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -62,7 +68,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install NodeJS
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@v1
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          node-version: 12
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          node-version: 14
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Cache NodeJS modules
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/cache@v2
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -76,7 +82,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">             ${{ runner.os }}-npm-
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: npm ci
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        run: npx install-changed --install-command="npm ci"
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Build WordPress
</span><span class="cx" style="display: block; padding: 0 10px">         run: npm run build
</span></span></pre></div>
<a id="branches41githubworkflowsjavascripttestsyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.github/workflows/javascript-tests.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/javascript-tests.yml      2020-10-15 19:40:33 UTC (rev 49162)
+++ branches/4.1/.github/workflows/javascript-tests.yml 2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4,7 +4,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">   push:
</span><span class="cx" style="display: block; padding: 0 10px">     branches:
</span><span class="cx" style="display: block; padding: 0 10px">       - master
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - '*.*'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      # JavaScript testing was introduced in WordPress 3.8.
+      - '3.[89]'
+      - '[4-9].[0-9]'
+    tags:
+      - '3.[89]*'
+      - '[4-9].[0-9]*'
</ins><span class="cx" style="display: block; padding: 0 10px">   pull_request:
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> jobs:
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11,20 +16,23 @@
</span><span class="cx" style="display: block; padding: 0 10px">   # Runs the QUnit tests for WordPress.
</span><span class="cx" style="display: block; padding: 0 10px">   #
</span><span class="cx" style="display: block; padding: 0 10px">   # Performs the following steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Cancels all previous workflow runs that have not completed.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Cancels all previous workflow runs for pull requests that have not completed.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Checks out the repository.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs debug information about the runner container.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Installs NodeJS 14.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Sets up caching for NPM.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs updated debug information.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # _ Installs NPM dependencies.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Run the WordPress QUnit tests.
</span><span class="cx" style="display: block; padding: 0 10px">   # - todo: Configure Slack notifications for failing tests.
</span><span class="cx" style="display: block; padding: 0 10px">   test-js:
</span><span class="cx" style="display: block; padding: 0 10px">     name: QUnit Tests
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: ubuntu-latest
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
</ins><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Cancel previous runs of this workflow
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
</ins><span class="cx" style="display: block; padding: 0 10px">         uses: styfle/cancel-workflow-action@0.5.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="cx" style="display: block; padding: 0 10px">           access_token: ${{ github.token }}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -42,7 +50,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install NodeJS
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@v1
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          node-version: 12
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          node-version: 14
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Cache NodeJS modules
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/cache@v2
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -61,7 +69,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">           node --version
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: npm ci
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        run: npx install-changed --install-command="npm ci"
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Run QUnit tests
</span><span class="cx" style="display: block; padding: 0 10px">         run: npm run grunt qunit:compiled
</span></span></pre></div>
<a id="branches41githubworkflowsphpcompatibilityyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.github/workflows/php-compatibility.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/php-compatibility.yml     2020-10-15 19:40:33 UTC (rev 49162)
+++ branches/4.1/.github/workflows/php-compatibility.yml        2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6,7 +6,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - master
</span><span class="cx" style="display: block; padding: 0 10px">       # The PHP compatibility testing was introduced in WordPress 5.5.
</span><span class="cx" style="display: block; padding: 0 10px">       - '5.[5-9]'
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - '[6-9].*'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - '[6-9].[0-9]'
+    tags:
+      - '5.[5-9]*'
+      - '[6-9].[0-9]*'
</ins><span class="cx" style="display: block; padding: 0 10px">   pull_request:
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> jobs:
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -17,10 +20,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">   #
</span><span class="cx" style="display: block; padding: 0 10px">   # Performs the following steps:
</span><span class="cx" style="display: block; padding: 0 10px">   # - Checks out the repository.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Configures caching for Composer.
</del><span class="cx" style="display: block; padding: 0 10px">   # - Sets up PHP.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs debug information about the runner container.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Installs Composer dependencies (from cache if possible).
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Installs Composer dependencies (use cache if possible).
+  # - Make Composer packages available globally.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Logs PHP_CodeSniffer debug information.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Runs the PHP compatibility tests.
</span><span class="cx" style="display: block; padding: 0 10px">   # - todo: Configure Slack notifications for failing scans.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -27,25 +30,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">   php-comatibility:
</span><span class="cx" style="display: block; padding: 0 10px">     name: Check PHP compatibility
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: ubuntu-latest
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Checkout repository
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/checkout@v2
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Get Composer cache directory
-        id: composer-cache
-        run: echo "::set-output name=dir::$(composer config cache-files-dir)"
-
-      - name: Set up Composer caching
-        uses: actions/cache@v2
-        env:
-          cache-name: cache-composer-dependencies
-        with:
-          path: ${{ steps.composer-cache.outputs.dir }}
-          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
-          restore-keys: |
-            ${{ runner.os }}-composer-
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Set up PHP
</span><span class="cx" style="display: block; padding: 0 10px">         uses: shivammathur/setup-php@v2
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -59,9 +49,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">           composer --version
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Composer dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: |
-          composer install --prefer-dist --no-suggest --no-progress --no-ansi --no-interaction
-          echo "vendor/bin" >> $GITHUB_PATH
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        uses: ramsey/composer-install@v1
+        with:
+          composer-options: "--no-progress --no-ansi --no-interaction"
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - name: Make Composer packages available globally
+        run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH
+
+      - name: Log PHPCS debug information
+        run: phpcs -i
+
</ins><span class="cx" style="display: block; padding: 0 10px">       - name: Run PHP compatibility tests
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: vendor/bin/phpcs --standard=phpcompat.xml.dist -q --report=checkstyle | cs2pr
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        run: phpcs --standard=phpcompat.xml.dist -q --report=checkstyle | cs2pr
</ins></span></pre></div>
<a id="branches41githubworkflowsphpunittestsyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.github/workflows/phpunit-tests.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/phpunit-tests.yml 2020-10-15 19:40:33 UTC (rev 49162)
+++ branches/4.1/.github/workflows/phpunit-tests.yml    2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4,7 +4,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">   push:
</span><span class="cx" style="display: block; padding: 0 10px">     branches:
</span><span class="cx" style="display: block; padding: 0 10px">       - master
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - '*.*'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - '3.[7-9]'
+      - '[4-9].[0-9]'
+    tags:
+      - '3.[7-9]*'
+      - '[4-9].[0-9]*'
</ins><span class="cx" style="display: block; padding: 0 10px">   pull_request:
</span><span class="cx" style="display: block; padding: 0 10px">   # Once weekly On Sundays at 00:00 UTC.
</span><span class="cx" style="display: block; padding: 0 10px">   schedule:
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -22,22 +26,23 @@
</span><span class="cx" style="display: block; padding: 0 10px">   # Sets up WordPress for testing or development use.
</span><span class="cx" style="display: block; padding: 0 10px">   #
</span><span class="cx" style="display: block; padding: 0 10px">   # Performs the following steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Cancels all previous workflow runs that have not completed.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Cancels all previous workflow runs for pull requests that have not completed.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Checks out the repository.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Checks out the WordPress Importer plugin (needed for the Core PHPUnit tests).
</del><span class="cx" style="display: block; padding: 0 10px">   # - Logs debug information about the runner container.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Installs NodeJS 14.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Sets up caching for NPM.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # _ Installs NPM dependencies.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Builds WordPress to run from the `build` directory.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Creates a ZIP file of compiled WordPress
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Creates a ZIP file of compiled WordPress.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Uploads ZIP file as an artifact.
</span><span class="cx" style="display: block; padding: 0 10px">   setup-wordpress:
</span><span class="cx" style="display: block; padding: 0 10px">     name: Setup WordPress
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: ubuntu-latest
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Cancel previous runs of this workflow
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
</ins><span class="cx" style="display: block; padding: 0 10px">         uses: styfle/cancel-workflow-action@0.5.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="cx" style="display: block; padding: 0 10px">           access_token: ${{ github.token }}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -45,11 +50,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Checkout repository
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/checkout@v2
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Checkout the WordPress Importer plugin
-        run: svn checkout -r 2387243 https://plugins.svn.wordpress.org/wordpress-importer/trunk/ tests/phpunit/data/plugins/wordpress-importer
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Log debug information
</span><span class="cx" style="display: block; padding: 0 10px">         run: |
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          echo "$GITHUB_REF"
+          echo "$GITHUB_EVENT_NAME"
</ins><span class="cx" style="display: block; padding: 0 10px">           npm --version
</span><span class="cx" style="display: block; padding: 0 10px">           node --version
</span><span class="cx" style="display: block; padding: 0 10px">           curl --version
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -62,7 +66,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install NodeJS
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@v1
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          node-version: 12
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          node-version: 14
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Cache NodeJS modules
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/cache@v2
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -76,7 +80,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">             ${{ runner.os }}-npm-
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: npm ci
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        run: npx install-changed --install-command="npm ci"
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Build WordPress
</span><span class="cx" style="display: block; padding: 0 10px">         run: npm run build
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -85,7 +89,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         uses: thedoctor0/zip-release@0.4.1
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="cx" style="display: block; padding: 0 10px">           filename: built-wp-${{ github.sha }}.zip
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          exclusions: '/*node_modules/*'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          exclusions: '*.git* /*node_modules/* packagehash.txt'
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Upload build artifact
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/upload-artifact@v2
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -101,32 +105,51 @@
</span><span class="cx" style="display: block; padding: 0 10px">   # - Sets up the environment variables needed for testing with memcached (if desired).
</span><span class="cx" style="display: block; padding: 0 10px">   # - Downloads the built WordPress artifact from the previous job.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Unzips the artifact.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `nvmrc` file to support older branches)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Installs NodeJS 14.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Sets up caching for NPM.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # _ Installs NPM dependencies.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Configures caching for Composer.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # _ Installs Composer dependencies (if desired)
-  # - Logs Docker debug information (about both the Docker installation within the runner)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # _ Installs Composer dependencies (if desired).
+  # - Logs Docker debug information (about both the Docker installation within the runner).
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Starts the WordPress Docker container.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Starts the memcached server after the Docker network has been created (if desired).
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs WordPress Docker container debug information.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs debug general information.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs the running Docker containers.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Logs Docker debug information (about both the Docker installation within the runner and the WordPress container)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Logs debug information about what's installed within the WordPress Docker containers.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Install WordPress within the Docker container.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Run the PHPUnit tests.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Reports test results to the Distributed Hosting Tests.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Checks out the WordPress Test reporter repository.
+  # - Reconnect the directory to the Git repository.
+  # - Submit the test results to the WordPress.org host test results.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - todo: Configure Slack notifications for failing tests.
</span><span class="cx" style="display: block; padding: 0 10px">   test-php:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-    name: ${{ matrix.php_versions }} on ${{ matrix.os }}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    name: ${{ matrix.php }}${{ matrix.memcached && ' with memcached' || '' }} on ${{ matrix.os }}
</ins><span class="cx" style="display: block; padding: 0 10px">     needs: setup-wordpress
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: ${{ matrix.os }}
</span><span class="cx" style="display: block; padding: 0 10px">     strategy:
</span><span class="cx" style="display: block; padding: 0 10px">       matrix:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        php_versions: [ '8.0', 7.4, '7.4 with memcached', 7.3, 7.2, 7.1, '7.0', 5.6.20 ]
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        php: [ '5.6' ]
+        phpunit: [ '4-php-5.6' ]
</ins><span class="cx" style="display: block; padding: 0 10px">         os: [ ubuntu-latest ]
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        memcached: [ false ]
+        include:
+          - php: '5.5'
+            phpunit: '5.5'
+            os: ubuntu-latest
+            memcached: false
+          - php: '5.4'
+            phpunit: '5.4'
+            os: ubuntu-latest
+            memcached: false
+          - php: '5.3'
+            phpunit: '5.3'
+            os: ubuntu-latest
+            memcached: false
</ins><span class="cx" style="display: block; padding: 0 10px">     env:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      LOCAL_PHP: ${{ matrix.php_versions }}-fpm
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      LOCAL_PHP: ${{ matrix.php }}-fpm
+      LOCAL_PHPUNIT: ${{ matrix.phpunit }}-fpm
+      LOCAL_PHP_MEMCACHED: ${{ matrix.memcached }}
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Configure environment variables
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -134,12 +157,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">           echo "PHP_FPM_UID=$(id -u)" >> $GITHUB_ENV
</span><span class="cx" style="display: block; padding: 0 10px">           echo "PHP_FPM_GID=$(id -g)" >> $GITHUB_ENV
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Configure memcached
-        if: ${{ contains( matrix.php_versions, 'memcached' ) }}
-        run: |
-          echo "LOCAL_PHP=$(echo ${{ matrix.php_versions }} | cut -c1-3)-fpm" >> $GITHUB_ENV
-          echo "LOCAL_PHP_MEMCACHED=true" >> $GITHUB_ENV
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Download the built WordPress artifact
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/download-artifact@v2
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -151,7 +168,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install NodeJS
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@v1
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          node-version: 12
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          node-version: 14
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Use cached Node modules
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/cache@v2
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -165,39 +182,25 @@
</span><span class="cx" style="display: block; padding: 0 10px">             ${{ runner.os }}-npm-
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: npm ci
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        run: npx install-changed --install-command="npm ci"
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Get composer cache directory
-        id: composer-cache
-        if: ${{ env.COMPOSER_INSTALL == true || env.LOCAL_PHP == '8.0-fpm' }}
-        run: echo "::set-output name=dir::$(composer config cache-files-dir)"
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Cache Composer dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        if: ${{ env.COMPOSER_INSTALL == true || env.LOCAL_PHP == '8.0-fpm' }}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        if: ${{ env.COMPOSER_INSTALL == true }}
</ins><span class="cx" style="display: block; padding: 0 10px">         uses: actions/cache@v2
</span><span class="cx" style="display: block; padding: 0 10px">         env:
</span><span class="cx" style="display: block; padding: 0 10px">           cache-name: cache-composer-dependencies
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="cx" style="display: block; padding: 0 10px">           path: ${{ steps.composer-cache.outputs.dir }}
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
</ins><span class="cx" style="display: block; padding: 0 10px">           restore-keys: |
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-            ${{ runner.os }}-composer-
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+            ${{ runner.os }}-php-${{ matrix.php }}-composer-
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Composer dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        if: ${{ env.COMPOSER_INSTALL == true || env.LOCAL_PHP == '8.0-fpm' }}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        if: ${{ env.COMPOSER_INSTALL == true }}
</ins><span class="cx" style="display: block; padding: 0 10px">         run: |
</span><span class="cx" style="display: block; padding: 0 10px">           docker-compose run --rm php composer --version
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          docker-compose run --rm php composer install
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          # The PHPUnit 7.x phar is not compatible with PHP 8 and won't be updated,
-          # as PHPUnit 7 is no longer supported. The Composer-installed PHPUnit should be
-          # used for PHP 8 testing instead.
-          if [ ${{ env.LOCAL_PHP }} == '8.0-fpm' ]; then
-            docker-compose run --rm php composer install --ignore-platform-reqs
-            echo "PHPUNIT_SCRIPT=php-composer" >> $GITHUB_ENV
-          else
-            docker-compose run --rm php composer install
-          fi
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Docker debug information
</span><span class="cx" style="display: block; padding: 0 10px">         run: |
</span><span class="cx" style="display: block; padding: 0 10px">           docker -v
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -209,7 +212,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       # The memcached server needs to start after the Docker network has been set up with `npm run env:start`.
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Start the Memcached server.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        if: ${{ contains( matrix.php_versions, 'memcached' ) }}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        if: ${{ matrix.memcached }}
</ins><span class="cx" style="display: block; padding: 0 10px">         run: |
</span><span class="cx" style="display: block; padding: 0 10px">           cp tests/phpunit/includes/object-cache.php build/wp-content/object-cache.php
</span><span class="cx" style="display: block; padding: 0 10px">           docker run --name memcached --net $(basename "$PWD")_wpdevnet -d memcached
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -227,8 +230,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: WordPress Docker container debug information
</span><span class="cx" style="display: block; padding: 0 10px">         run: |
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          docker -v
-          docker-compose -v
</del><span class="cx" style="display: block; padding: 0 10px">           docker-compose run --rm mysql mysql --version
</span><span class="cx" style="display: block; padding: 0 10px">           docker-compose run --rm php php --version
</span><span class="cx" style="display: block; padding: 0 10px">           docker-compose run --rm php php -m
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -247,7 +248,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Run tests as a multisite install
</span><span class="cx" style="display: block; padding: 0 10px">         run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Run mutlisite file tests
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - name: Run ms-files tests as a multisite install
</ins><span class="cx" style="display: block; padding: 0 10px">         run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml --group ms-files
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Run external HTTP tests
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -256,18 +257,27 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Run REST API tests
</span><span class="cx" style="display: block; padding: 0 10px">         run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group restapi-jsclient
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      # Xdebug supports PHP 8 only from version 3.0, which is not released yet.
-      # Once Xdebug 3.0 is released and included in the Docker image, the IF condition should be removed.
</del><span class="cx" style="display: block; padding: 0 10px">       # __fakegroup__ is excluded to force PHPUnit to ignore the <exclude> settings in phpunit.xml.dist.
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Run (xDebug) tests
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        if: ${{ env.LOCAL_PHP != '8.0-fpm' }}
</del><span class="cx" style="display: block; padding: 0 10px">         run: LOCAL_PHP_XDEBUG=true npm run test:php -- -v --group xdebug --exclude-group __fakegroup__
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: WordPress Test Reporter
-        if: ${{ matrix.php_versions == '7.4' }}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - name: Checkout the WordPress Test Reporter
+        if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/master' && matrix.report }}
</ins><span class="cx" style="display: block; padding: 0 10px">         uses: actions/checkout@v2
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="cx" style="display: block; padding: 0 10px">           repository: 'WordPress/phpunit-test-runner'
</span><span class="cx" style="display: block; padding: 0 10px">           path: 'test-runner'
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        # TODO: Configure hidden keys to successfully report test results.
-        # run: docker-compose run --rm -e WPT_REPORT_API_KEY -e WPT_PREPARE_DIR=/var/www -e WPT_TEST_DIR=/var/www php php test-runner/report.php
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+      - name: Set up the Git repository
+        if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/master' && matrix.report }}
+        run: |
+          git init
+          git remote add origin https://github.com/WordPress/wordpress-develop.git
+          git fetch
+          git reset origin/master
+
+      - name: Submit test results to the WordPress.org host test results
+        if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/master' && matrix.report }}
+        env:
+          WPT_REPORT_API_KEY: "${{ secrets.WPT_REPORT_API_KEY }}"
+        run: docker-compose run --rm -e WPT_REPORT_API_KEY -e WPT_PREPARE_DIR=/var/www -e WPT_TEST_DIR=/var/www php php test-runner/report.php
</ins></span></pre></div>
<a id="branches41githubworkflowsverifynpmonwindowsyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.github/workflows/verify-npm-on-windows.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/verify-npm-on-windows.yml 2020-10-15 19:40:33 UTC (rev 49162)
+++ branches/4.1/.github/workflows/verify-npm-on-windows.yml    2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4,25 +4,32 @@
</span><span class="cx" style="display: block; padding: 0 10px">   push:
</span><span class="cx" style="display: block; padding: 0 10px">     branches:
</span><span class="cx" style="display: block; padding: 0 10px">       - master
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - '*.*'
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - '3.[7-9]'
+      - '[4-9].[0-9]'
</ins><span class="cx" style="display: block; padding: 0 10px">   pull_request:
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+env:
+  PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> jobs:
</span><span class="cx" style="display: block; padding: 0 10px">   # Verifies that installing NPM dependencies and building WordPress works on Windows.
</span><span class="cx" style="display: block; padding: 0 10px">   #
</span><span class="cx" style="display: block; padding: 0 10px">   # Performs the following steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Cancels all previous workflow runs that have not completed.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Cancels all previous workflow runs for pull requests that have not completed.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Checks out the repository.
</span><span class="cx" style="display: block; padding: 0 10px">   # - Logs debug information about the runner container.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # - Installs NodeJS 14.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Sets up caching for NPM.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  # _ Installs NPM dependencies.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
</ins><span class="cx" style="display: block; padding: 0 10px">   # - Builds WordPress to run from the `build` directory.
</span><span class="cx" style="display: block; padding: 0 10px">   test-npm:
</span><span class="cx" style="display: block; padding: 0 10px">     name: Tests NPM on Windows
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: windows-latest
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
</ins><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Cancel previous runs of this workflow
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
</ins><span class="cx" style="display: block; padding: 0 10px">         uses: styfle/cancel-workflow-action@0.5.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><span class="cx" style="display: block; padding: 0 10px">           access_token: ${{ github.token }}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -41,7 +48,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install NodeJS
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@v1
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-          node-version: 12
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          node-version: 14
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Get NPM cache directory
</span><span class="cx" style="display: block; padding: 0 10px">         id: npm-cache
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -58,7 +65,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">             ${{ runner.os }}-npm-
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Install Dependencies
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        run: npm ci
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        run: npx install-changed --install-command="npm ci"
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">       - name: Build WordPress
</span><span class="cx" style="display: block; padding: 0 10px">         run: npm run build
</span></span></pre></div>
<a id="branches41githubworkflowswelcomenewcontributorsyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/.github/workflows/welcome-new-contributors.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/welcome-new-contributors.yml      2020-10-15 19:40:33 UTC (rev 49162)
+++ branches/4.1/.github/workflows/welcome-new-contributors.yml 2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,12 +1,14 @@
</span><span class="cx" style="display: block; padding: 0 10px"> name: Welcome New Contributors
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> on:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-  pull_request:
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  pull_request_target:
</ins><span class="cx" style="display: block; padding: 0 10px">     types: [ opened ]
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> jobs:
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  # Comments on a pull request when the author is a new contributor.
</ins><span class="cx" style="display: block; padding: 0 10px">   post-welcome-message:
</span><span class="cx" style="display: block; padding: 0 10px">     runs-on: ubuntu-latest
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    if: ${{ github.repository == 'WordPress/wordpress-develop' }}
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">     steps:
</span><span class="cx" style="display: block; padding: 0 10px">       - uses: bubkoo/welcome-action@v1
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -19,19 +21,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">             Thank you for your contribution to WordPress! 💖
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-            It looks like this is your first pull request, so here are a few things to be aware of that may help you out.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+            It looks like this is your first pull request to `wordpress-develop`. Here are a few things to be aware of that may help you out!
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">             **No one monitors this repository for new pull requests.** Pull requests **must** be attached to a Trac ticket to be considered for inclusion in WordPress Core. To attach a pull request to a Trac ticket, please include the ticket's full URL in your pull request description.
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-            **Pull requests are never merged on GitHub.** The WordPress codebase continues to be managed through the SVN repository that this one mirrors. But please feel free to use pull requests to work on any contribution you are making.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+            **Pull requests are never merged on GitHub.** The WordPress codebase continues to be managed through the SVN repository that this GitHub repository mirrors. Please feel free to open pull requests to work on any contribution you are making.
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">             More information about how GitHub pull requests can be used to contribute to WordPress can be found in [this blog post](https://make.wordpress.org/core/2020/02/21/working-on-trac-tickets-using-github-pull-requests/).
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-            Including tests in your pull request is one way to help your patch be considered faster. To learn about WordPress' test suites, visit the [Automated Testing](https://make.wordpress.org/core/handbook/testing/automated-testing/) page in the handbook.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+            **Please include automated tests.** Including tests in your pull request is one way to help your patch be considered faster. To learn about WordPress' test suites, visit the [Automated Testing](https://make.wordpress.org/core/handbook/testing/automated-testing/) page in the handbook.
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">             If you have not had a chance, please review the [Contribute with Code page](https://make.wordpress.org/core/handbook/contribute/) in the [WordPress Core Handbook](https://make.wordpress.org/core/handbook/).
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -52,9 +54,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">             - [Inline Documentation Standards](https://developer.wordpress.org/coding-standards/inline-documentation-standards/)
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-            Please remember that the WordPress project is largely maintained by volunteers
-
-
</del><span class="cx" style="display: block; padding: 0 10px">             Thank you,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">             The WordPress Project
</span></span></pre></div>
<a id="branches41dockercomposeyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/docker-compose.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.1/docker-compose.yml   2021-02-12 20:36:58 UTC (rev 50319)
+++ branches/4.1/docker-compose.yml     2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -53,7 +53,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">   # The MySQL container.
</span><span class="cx" style="display: block; padding: 0 10px">   ##
</span><span class="cx" style="display: block; padding: 0 10px">   mysql:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-    image: mysql:${LOCAL_MYSQL-5.7}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+    image: ${LOCAL_DB_TYPE-mysql}:${LOCAL_DB_VERSION-5.6}
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">     networks:
</span><span class="cx" style="display: block; padding: 0 10px">       - wpdevnet
</span></span></pre></div>
<a id="branches41toolslocalenvscriptsinstalljs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.1/tools/local-env/scripts/install.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.1/tools/local-env/scripts/install.js   2021-02-12 20:36:58 UTC (rev 50319)
+++ branches/4.1/tools/local-env/scripts/install.js     2021-02-12 20:41:34 UTC (rev 50320)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -20,6 +20,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> // Move wp-config.php to the base directory, so it doesn't get mixed up in the src or build directories.
</span><span class="cx" style="display: block; padding: 0 10px"> renameSync( 'src/wp-config.php', 'wp-config.php' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+install_wp_importer();
+
</ins><span class="cx" style="display: block; padding: 0 10px"> // Read in wp-tests-config-sample.php, edit it to work with our config, then write it to wp-tests-config.php.
</span><span class="cx" style="display: block; padding: 0 10px"> const testConfig = readFileSync( 'wp-tests-config-sample.php', 'utf8' )
</span><span class="cx" style="display: block; padding: 0 10px">        .replace( 'youremptytestdbnamehere', 'wordpress_develop_tests' )
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -45,3 +47,12 @@
</span><span class="cx" style="display: block; padding: 0 10px"> function wp_cli( cmd ) {
</span><span class="cx" style="display: block; padding: 0 10px">        execSync( `docker-compose run --rm cli ${cmd}`, { stdio: 'inherit' } );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Downloads the WordPress Importer plugin for use in tests.
+ */
+function install_wp_importer() {
+       const test_plugin_directory = 'tests/phpunit/data/plugins/wordpress-importer';
+
+       execSync( `docker-compose exec -T php rm -rf ${test_plugin_directory} && svn checkout -r ${process.env.WP_IMPORTER_REVISION} https://plugins.svn.wordpress.org/wordpress-importer/trunk/ ${test_plugin_directory}`, { stdio: 'inherit' } );
+}
</ins></span></pre>
</div>
</div>

</body>
</html>