<!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>[50313] branches/4.5: Build/Test Tools: Restore automated testing in the 4.5 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/50313">50313</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/50313","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:00:11 +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.5 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.5 branch.
See <a href="https://core.trac.wordpress.org/ticket/50401">#50401</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branches45env">branches/4.5/.env</a></li>
<li><a href="#branches45dockercomposeyml">branches/4.5/docker-compose.yml</a></li>
<li><a href="#branches45toolslocalenvscriptsinstalljs">branches/4.5/tools/local-env/scripts/install.js</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>branches/4.5/.github/</li>
<li>branches/4.5/.github/workflows/</li>
<li><a href="#branches45githubworkflowscodingstandardsyml">branches/4.5/.github/workflows/coding-standards.yml</a></li>
<li><a href="#branches45githubworkflowsendtoendtestsyml">branches/4.5/.github/workflows/end-to-end-tests.yml</a></li>
<li><a href="#branches45githubworkflowsjavascripttestsyml">branches/4.5/.github/workflows/javascript-tests.yml</a></li>
<li><a href="#branches45githubworkflowsphpcompatibilityyml">branches/4.5/.github/workflows/php-compatibility.yml</a></li>
<li><a href="#branches45githubworkflowsphpunittestsyml">branches/4.5/.github/workflows/phpunit-tests.yml</a></li>
<li><a href="#branches45githubworkflowsverifynpmonwindowsyml">branches/4.5/.github/workflows/verify-npm-on-windows.yml</a></li>
<li><a href="#branches45githubworkflowswelcomenewcontributorsyml">branches/4.5/.github/workflows/welcome-new-contributors.yml</a></li>
</ul>

<h3>Property Changed</h3>
<ul>
<li><a href="#branches45">branches/4.5/</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<span class="cx" style="display: block; padding: 0 10px">Index: branches/4.5
</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.5 2021-02-12 19:54:01 UTC (rev 50312)
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+++ branches/4.5  2021-02-12 20:00:11 UTC (rev 50313)
</ins><a id="branches45"></a>
<div class="propset"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Property changes: branches/4.5</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:37185,37192,37212,37228,37247,37249,37273,37282,37285,37288,37301,37352,37417,37433,37435,37448,37452,37472,37525-37527,37559,37612,37651,37678,37697,37708,37710,37720,37724,37729-37730,37748,37755,38111,38524,38688,38757,39110,39113-39119,39360-39361,39478,39645,39659,39759-39760,39772,39795,39807-39808,39831,39850,39956,40148,40160,40169,40183,40195,40241,40255,40257-40259,40269,40271,40400,40538,40604,40677,40692,40704,40716,40723,40736,40851-40852,41072,41393,41395,41397-41398,41448,41457,41470,41483,41496,41522,41662,41712,41870,42056,42119-42120,42258-42261,42424,42433,42460-42461,42463,42887,42892-42894,43320,43323,43511-43512,43977,44021,44048,44176,44219,44233,44728,44833,44842,44864,44993,45321,45445,45745,45762,45765,45783-45784,45800,45819,45885,45936,45971,45990,45997,46320,46404,46408-46409,46474-46478,46483,46485,46682,46895,46996,46999,47225,47341,47404,47634-47635
 ,47637-47638,47867-47869,47872-47873,47912,47947-47951,48121,48241,48705,49267,49335,49358,49360,49362,49380,49382-49388,49636,49876,49933,49937,49939,50017,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:37185,37192,37212,37228,37247,37249,37273,37282,37285,37288,37301,37352,37417,37433,37435,37448,37452,37472,37525-37527,37559,37612,37651,37678,37697,37708,37710,37720,37724,37729-37730,37748,37755,38111,38524,38688,38757,39110,39113-39119,39360-39361,39478,39645,39659,39759-39760,39772,39795,39807-39808,39831,39850,39956,40148,40160,40169,40183,40195,40241,40255,40257-40259,40269,40271,40400,40538,40604,40677,40692,40704,40716,40723,40736,40851-40852,41072,41393,41395,41397-41398,41448,41457,41470,41483,41496,41522,41662,41712,41870,42056,42119-42120,42258-42261,42424,42433,42460-42461,42463,42887,42892-42894,43320,43323,43511-43512,43977,44021,44048,44176,44219,44233,44728,44833,44842,44864,44993,45321,45445,45745,45762,45765,45783-45784,45800,45819,45885,45936,45971,45990,45997,46320,46404,46408-46409,46474-46478,46483,46485,46682,46895,46996,46999,47225,47341,47404,47634-47635
 ,47637-47638,47867-47869,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,50017,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="branches45env"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.5/.env</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.env 2021-02-12 19:54:01 UTC (rev 50312)
+++ branches/4.5/.env   2021-02-12 20:00:11 UTC (rev 50313)
</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.7
</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.7 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.7
+
</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="branches45githubworkflowscodingstandardsyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/4.5/.github/workflows/coding-standards.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.github/workflows/coding-standards.yml                               (rev 0)
+++ branches/4.5/.github/workflows/coding-standards.yml 2021-02-12 20:00:11 UTC (rev 50313)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,73 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+name: Coding Standards
+
+on:
+  push:
+    branches:
+      - master
+      # JSHint was introduced in WordPress 3.8.
+      # PHPCS checking was introduced in WordPress 5.1.
+      - '3.[89]'
+      - '[4-9].[0-9]'
+    tags:
+      - '3.[89]*'
+      - '[4-9].[0-9]*'
+  pull_request:
+
+jobs:
+  # Runs the JavaScript coding standards checks.
+  #
+  # JSHint violations are not currently reported inline with annotations.
+  #
+  # Performs the following steps:
+  # - Checks out the repository.
+  # - Logs debug information about the runner container.
+  # - Installs NodeJS 14.
+  # - Sets up caching for NPM.
+  # - Logs updated debug information.
+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
+  # - Run the WordPress JSHint checks.
+  # - todo: Configure Slack notifications for failing tests.
+  jshint:
+    name: JavaScript coding standards
+    runs-on: ubuntu-latest
+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+    env:
+      PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
+
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - name: Log debug information
+        run: |
+          npm --version
+          node --version
+          git --version
+          svn --version
+
+      - name: Install NodeJS
+        uses: actions/setup-node@v1
+        with:
+          node-version: 14
+
+      - name: Cache NodeJS modules
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-node-modules
+        with:
+          # npm cache files are stored in `~/.npm` on Linux/macOS
+          path: ~/.npm
+          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-npm-
+
+      - name: Log debug information
+        run: |
+          npm --version
+          node --version
+
+      - name: Install Dependencies
+        run: npx install-changed --install-command="npm ci"
+
+      - name: Run JSHint
+        run: npm run grunt jshint
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: branches/4.5/.github/workflows/coding-standards.yml
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches45githubworkflowsendtoendtestsyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/4.5/.github/workflows/end-to-end-tests.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.github/workflows/end-to-end-tests.yml                               (rev 0)
+++ branches/4.5/.github/workflows/end-to-end-tests.yml 2021-02-12 20:00:11 UTC (rev 50313)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,119 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+name: End-to-end Tests
+
+on:
+  push:
+    branches:
+      - master
+      # The end to end test suite was introduced in WordPress 5.3.
+      - '5.[3-9]'
+      - '[6-9].[0-9]'
+    tags:
+      - '5.[3-9]*'
+      - '[6-9].[0-9]*'
+  pull_request:
+
+env:
+  LOCAL_DIR: build
+
+jobs:
+  # Runs the end-to-end test suite.
+  #
+  # Performs the following steps:
+  # - Cancels all previous workflow runs for pull requests that have not completed.
+  # - Set environment variables.
+  # - Checks out the repository.
+  # - Logs debug information about the runner container.
+  # - Installs NodeJS 14.
+  # - Sets up caching for NPM.
+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
+  # - Builds WordPress to run from the `build` directory.
+  # - Starts the WordPress Docker container.
+  # - Logs general debug information.
+  # - Logs the running Docker containers.
+  # - Logs Docker debug information (about both the Docker installation within the runner and the WordPress container).
+  # - Install WordPress within the Docker container.
+  # - Run the E2E tests.
+  # - todo: Configure Slack notifications for failing tests.
+  e2e-tests:
+    name: E2E Tests
+    runs-on: ubuntu-latest
+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
+    steps:
+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
+        uses: styfle/cancel-workflow-action@0.5.0
+        with:
+          access_token: ${{ github.token }}
+
+      - name: Configure environment variables
+        run: |
+          echo "PHP_FPM_UID=$(id -u)" >> $GITHUB_ENV
+          echo "PHP_FPM_GID=$(id -g)" >> $GITHUB_ENV
+
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - name: Log debug information
+        run: |
+          npm --version
+          node --version
+          curl --version
+          git --version
+          svn --version
+          php --version
+          php -i
+          locale -a
+
+      - name: Install NodeJS
+        uses: actions/setup-node@v1
+        with:
+          node-version: 14
+
+      - name: Cache NodeJS modules
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-node-modules
+        with:
+          # npm cache files are stored in `~/.npm` on Linux/macOS
+          path: ~/.npm
+          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-npm-
+
+      - name: Install Dependencies
+        run: npx install-changed --install-command="npm ci"
+
+      - name: Build WordPress
+        run: npm run build
+
+      - name: Start Docker environment
+        run: |
+          npm run env:start
+
+      - name: General debug information
+        run: |
+          npm --version
+          node --version
+          curl --version
+          git --version
+          svn --version
+
+      - name: Log running Docker containers
+        run: docker ps -a
+
+      - name: Docker debug information
+        run: |
+          docker -v
+          docker-compose -v
+          docker-compose run --rm mysql mysql --version
+          docker-compose run --rm php php --version
+          docker-compose run --rm php php -m
+          docker-compose run --rm php php -i
+          docker-compose run --rm php locale -a
+
+      - name: Install WordPress
+        run: npm run env:install
+
+      - name: Run E2E tests
+        run: npm run test:e2e
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: branches/4.5/.github/workflows/end-to-end-tests.yml
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches45githubworkflowsjavascripttestsyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/4.5/.github/workflows/javascript-tests.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.github/workflows/javascript-tests.yml                               (rev 0)
+++ branches/4.5/.github/workflows/javascript-tests.yml 2021-02-12 20:00:11 UTC (rev 50313)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,75 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+name: JavaScript Tests
+
+on:
+  push:
+    branches:
+      - master
+      # JavaScript testing was introduced in WordPress 3.8.
+      - '3.[89]'
+      - '[4-9].[0-9]'
+    tags:
+      - '3.[89]*'
+      - '[4-9].[0-9]*'
+  pull_request:
+
+jobs:
+  # Runs the QUnit tests for WordPress.
+  #
+  # Performs the following steps:
+  # - Cancels all previous workflow runs for pull requests that have not completed.
+  # - Checks out the repository.
+  # - Logs debug information about the runner container.
+  # - Installs NodeJS 14.
+  # - Sets up caching for NPM.
+  # - Logs updated debug information.
+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
+  # - Run the WordPress QUnit tests.
+  # - todo: Configure Slack notifications for failing tests.
+  test-js:
+    name: QUnit Tests
+    runs-on: ubuntu-latest
+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
+    steps:
+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
+        uses: styfle/cancel-workflow-action@0.5.0
+        with:
+          access_token: ${{ github.token }}
+
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - name: Log debug information
+        run: |
+          npm --version
+          node --version
+          git --version
+          svn --version
+
+      - name: Install NodeJS
+        uses: actions/setup-node@v1
+        with:
+          node-version: 14
+
+      - name: Cache NodeJS modules
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-node-modules
+        with:
+          # npm cache files are stored in `~/.npm` on Linux/macOS
+          path: ~/.npm
+          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-npm-
+
+      - name: Log debug information
+        run: |
+          npm --version
+          node --version
+
+      - name: Install Dependencies
+        run: npx install-changed --install-command="npm ci"
+
+      - name: Run QUnit tests
+        run: npm run grunt qunit:compiled
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: branches/4.5/.github/workflows/javascript-tests.yml
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches45githubworkflowsphpcompatibilityyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/4.5/.github/workflows/php-compatibility.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.github/workflows/php-compatibility.yml                              (rev 0)
+++ branches/4.5/.github/workflows/php-compatibility.yml        2021-02-12 20:00:11 UTC (rev 50313)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,63 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+name: PHP Compatibility
+
+on:
+  push:
+    branches:
+      - master
+      # The PHP compatibility testing was introduced in WordPress 5.5.
+      - '5.[5-9]'
+      - '[6-9].[0-9]'
+    tags:
+      - '5.[5-9]*'
+      - '[6-9].[0-9]*'
+  pull_request:
+
+jobs:
+
+  # Runs PHP compatibility testing.
+  #
+  # Violations are reported inline with annotations.
+  #
+  # Performs the following steps:
+  # - Checks out the repository.
+  # - Sets up PHP.
+  # - Logs debug information about the runner container.
+  # - Installs Composer dependencies (use cache if possible).
+  # - Make Composer packages available globally.
+  # - Logs PHP_CodeSniffer debug information.
+  # - Runs the PHP compatibility tests.
+  # - todo: Configure Slack notifications for failing scans.
+  php-comatibility:
+    name: Check PHP compatibility
+    runs-on: ubuntu-latest
+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - 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
+        uses: ramsey/composer-install@v1
+        with:
+          composer-options: "--no-progress --no-ansi --no-interaction"
+
+      - name: Make Composer packages available globally
+        run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH
+
+      - name: Log PHPCS debug information
+        run: phpcs -i
+
+      - name: Run PHP compatibility tests
+        run: phpcs --standard=phpcompat.xml.dist -q --report=checkstyle | cs2pr
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: branches/4.5/.github/workflows/php-compatibility.yml
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches45githubworkflowsphpunittestsyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/4.5/.github/workflows/phpunit-tests.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.github/workflows/phpunit-tests.yml                          (rev 0)
+++ branches/4.5/.github/workflows/phpunit-tests.yml    2021-02-12 20:00:11 UTC (rev 50313)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,292 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+name: PHPUnit Tests
+
+on:
+  push:
+    branches:
+      - master
+      - '3.[7-9]'
+      - '[4-9].[0-9]'
+    tags:
+      - '3.[7-9]*'
+      - '[4-9].[0-9]*'
+  pull_request:
+  # Once weekly On Sundays at 00:00 UTC.
+  schedule:
+    - cron: '0 0 * * 0'
+
+env:
+  LOCAL_DIR: build
+  PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
+  COMPOSER_INSTALL: ${{ false }}
+  # Controls which NPM script to use for running PHPUnit tests. Options ar `php` and `php-composer`.
+  PHPUNIT_SCRIPT: php
+  LOCAL_PHP_MEMCACHED: ${{ false }}
+
+jobs:
+  # Sets up WordPress for testing or development use.
+  #
+  # Performs the following steps:
+  # - Cancels all previous workflow runs for pull requests that have not completed.
+  # - Checks out the repository.
+  # - Logs debug information about the runner container.
+  # - Installs NodeJS 14.
+  # - Sets up caching for NPM.
+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
+  # - Builds WordPress to run from the `build` directory.
+  # - Creates a ZIP file of compiled WordPress.
+  # - Uploads ZIP file as an artifact.
+  setup-wordpress:
+    name: Setup WordPress
+    runs-on: ubuntu-latest
+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
+    steps:
+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
+        uses: styfle/cancel-workflow-action@0.5.0
+        with:
+          access_token: ${{ github.token }}
+
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - name: Log debug information
+        run: |
+          echo "$GITHUB_REF"
+          echo "$GITHUB_EVENT_NAME"
+          npm --version
+          node --version
+          curl --version
+          git --version
+          svn --version
+          php --version
+          php -i
+          locale -a
+
+      - name: Install NodeJS
+        uses: actions/setup-node@v1
+        with:
+          node-version: 14
+
+      - name: Cache NodeJS modules
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-node-modules
+        with:
+          # npm cache files are stored in `~/.npm` on Linux/macOS
+          path: ~/.npm
+          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-npm-
+
+      - name: Install Dependencies
+        run: npx install-changed --install-command="npm ci"
+
+      - name: Build WordPress
+        run: npm run build
+
+      - name: Create ZIP artifact
+        uses: thedoctor0/zip-release@0.4.1
+        with:
+          filename: built-wp-${{ github.sha }}.zip
+          exclusions: '*.git* /*node_modules/* packagehash.txt'
+
+      - name: Upload build artifact
+        uses: actions/upload-artifact@v2
+        with:
+          name: built-wp-${{ github.sha }}
+          path: built-wp-${{ github.sha }}.zip
+          if-no-files-found: error
+
+  # Runs the PHPUnit tests for WordPress.
+  #
+  # Performs the following steps:
+  # - Set environment variables.
+  # - Sets up the environment variables needed for testing with memcached (if desired).
+  # - Downloads the built WordPress artifact from the previous job.
+  # - Unzips the artifact.
+  # - Installs NodeJS 14.
+  # - Sets up caching for NPM.
+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
+  # - Configures caching for Composer.
+  # _ Installs Composer dependencies (if desired).
+  # - Logs Docker debug information (about both the Docker installation within the runner).
+  # - Starts the WordPress Docker container.
+  # - Starts the memcached server after the Docker network has been created (if desired).
+  # - Logs WordPress Docker container debug information.
+  # - Logs debug general information.
+  # - Logs the running Docker containers.
+  # - Logs debug information about what's installed within the WordPress Docker containers.
+  # - Install WordPress within the Docker container.
+  # - Run the PHPUnit tests.
+  # - 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.
+  # - todo: Configure Slack notifications for failing tests.
+  test-php:
+    name: ${{ matrix.php }}${{ matrix.memcached && ' with memcached' || '' }} on ${{ matrix.os }}
+    needs: setup-wordpress
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        php: [ '7.0' ]
+        phpunit: [ '5-php-7.0' ]
+        os: [ ubuntu-latest ]
+        memcached: [ false ]
+        include:
+          # Include job for PHP 7.0 with memcached.
+          - php: '7.0'
+            phpunit: '5-php-7.0'
+            os: ubuntu-latest
+            memcached: true
+          - php: '5.6'
+            phpunit: '4-php-5.6'
+            os: ubuntu-latest
+            memcached: false
+          - 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
+    env:
+      LOCAL_PHP: ${{ matrix.php }}-fpm
+      LOCAL_PHPUNIT: ${{ matrix.phpunit }}-fpm
+      LOCAL_PHP_MEMCACHED: ${{ matrix.memcached }}
+
+    steps:
+      - name: Configure environment variables
+        run: |
+          echo "PHP_FPM_UID=$(id -u)" >> $GITHUB_ENV
+          echo "PHP_FPM_GID=$(id -g)" >> $GITHUB_ENV
+
+      - name: Download the built WordPress artifact
+        uses: actions/download-artifact@v2
+        with:
+          name: built-wp-${{ github.sha }}
+
+      - name: Unzip built artifact
+        run: unzip built-wp-${{ github.sha }}.zip
+
+      - name: Install NodeJS
+        uses: actions/setup-node@v1
+        with:
+          node-version: 14
+
+      - name: Use cached Node modules
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-node-modules
+        with:
+          # npm cache files are stored in `~/.npm` on Linux/macOS
+          path: ~/.npm
+          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-npm-
+
+      - name: Install Dependencies
+        run: npx install-changed --install-command="npm ci"
+
+      - name: Cache Composer dependencies
+        if: ${{ env.COMPOSER_INSTALL == true }}
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-composer-dependencies
+        with:
+          path: ${{ steps.composer-cache.outputs.dir }}
+          key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
+          restore-keys: |
+            ${{ runner.os }}-php-${{ matrix.php }}-composer-
+
+      - name: Install Composer dependencies
+        if: ${{ env.COMPOSER_INSTALL == true }}
+        run: |
+          docker-compose run --rm php composer --version
+          docker-compose run --rm php composer install
+
+      - name: Docker debug information
+        run: |
+          docker -v
+          docker-compose -v
+
+      - name: Start Docker environment
+        run: |
+          npm run env:start
+
+      # The memcached server needs to start after the Docker network has been set up with `npm run env:start`.
+      - name: Start the Memcached server.
+        if: ${{ matrix.memcached }}
+        run: |
+          cp tests/phpunit/includes/object-cache.php build/wp-content/object-cache.php
+          docker run --name memcached --net $(basename "$PWD")_wpdevnet -d memcached
+
+      - name: General debug information
+        run: |
+          npm --version
+          node --version
+          curl --version
+          git --version
+          svn --version
+
+      - name: Log running Docker containers
+        run: docker ps -a
+
+      - name: WordPress Docker container debug information
+        run: |
+          docker-compose run --rm mysql mysql --version
+          docker-compose run --rm php php --version
+          docker-compose run --rm php php -m
+          docker-compose run --rm php php -i
+          docker-compose run --rm php locale -a
+
+      - name: Install WordPress
+        run: npm run env:install
+
+      - name: Run PHPUnit tests
+        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist
+
+      - name: Run AJAX tests
+        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group ajax
+
+      - name: Run tests as a multisite install
+        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml
+
+      - name: Run ms-files tests as a multisite install
+        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c tests/phpunit/multisite.xml --group ms-files
+
+      - name: Run external HTTP tests
+        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group external-http
+
+      - name: Run REST API tests
+        run: npm run test:${{ env.PHPUNIT_SCRIPT }} -- --verbose -c phpunit.xml.dist --group restapi-jsclient
+
+      # __fakegroup__ is excluded to force PHPUnit to ignore the <exclude> settings in phpunit.xml.dist.
+      - name: Run (xDebug) tests
+        run: LOCAL_PHP_XDEBUG=true npm run test:php -- -v --group xdebug --exclude-group __fakegroup__
+
+      - name: Checkout the WordPress Test Reporter
+        if: ${{ github.repository == 'WordPress/wordpress-develop' && github.ref == 'refs/heads/master' && matrix.report }}
+        uses: actions/checkout@v2
+        with:
+          repository: 'WordPress/phpunit-test-runner'
+          path: 'test-runner'
+
+      - 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 class="cx" style="display: block; padding: 0 10px">Property changes on: branches/4.5/.github/workflows/phpunit-tests.yml
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches45githubworkflowsverifynpmonwindowsyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/4.5/.github/workflows/verify-npm-on-windows.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.github/workflows/verify-npm-on-windows.yml                          (rev 0)
+++ branches/4.5/.github/workflows/verify-npm-on-windows.yml    2021-02-12 20:00:11 UTC (rev 50313)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,71 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+name: Test NPM on Windows
+
+on:
+  push:
+    branches:
+      - master
+      - '3.[7-9]'
+      - '[4-9].[0-9]'
+  pull_request:
+
+env:
+  PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
+
+jobs:
+  # Verifies that installing NPM dependencies and building WordPress works on Windows.
+  #
+  # Performs the following steps:
+  # - Cancels all previous workflow runs for pull requests that have not completed.
+  # - Checks out the repository.
+  # - Logs debug information about the runner container.
+  # - Installs NodeJS 14.
+  # - Sets up caching for NPM.
+  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
+  # - Builds WordPress to run from the `build` directory.
+  test-npm:
+    name: Tests NPM on Windows
+    runs-on: windows-latest
+    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
+
+    steps:
+      - name: Cancel previous runs of this workflow (pull requests only)
+        if: ${{ github.event_name == 'pull_request' }}
+        uses: styfle/cancel-workflow-action@0.5.0
+        with:
+          access_token: ${{ github.token }}
+
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - name: Log debug information
+        run: |
+          npm --version
+          node --version
+          curl --version
+          git --version
+          svn --version
+
+      - name: Install NodeJS
+        uses: actions/setup-node@v1
+        with:
+          node-version: 14
+
+      - name: Get NPM cache directory
+        id: npm-cache
+        run: echo "::set-output name=dir::$(npm config get cache)"
+
+      - name: Cache NodeJS modules
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-node-modules
+        with:
+          path: ${{ steps.npm-cache.outputs.dir }}
+          key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-npm-
+
+      - name: Install Dependencies
+        run: npx install-changed --install-command="npm ci"
+
+      - name: Build WordPress
+        run: npm run build
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: branches/4.5/.github/workflows/verify-npm-on-windows.yml
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches45githubworkflowswelcomenewcontributorsyml"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: branches/4.5/.github/workflows/welcome-new-contributors.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/.github/workflows/welcome-new-contributors.yml                               (rev 0)
+++ branches/4.5/.github/workflows/welcome-new-contributors.yml 2021-02-12 20:00:11 UTC (rev 50313)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,59 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+name: Welcome New Contributors
+
+on:
+  pull_request_target:
+    types: [ opened ]
+
+jobs:
+  # Comments on a pull request when the author is a new contributor.
+  post-welcome-message:
+    runs-on: ubuntu-latest
+    if: ${{ github.repository == 'WordPress/wordpress-develop' }}
+
+    steps:
+      - uses: bubkoo/welcome-action@v1
+        with:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          FIRST_PR_COMMENT: >
+            Hi @{{ author }}! ðŸ‘‹
+
+
+            Thank you for your contribution to WordPress! ðŸ’–
+
+
+            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!
+
+
+            **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.
+
+
+            **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.
+
+
+            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/).
+
+
+            **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.
+
+
+            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/).
+
+
+            The [Developer Hub](https://developer.wordpress.org/) also documents the various [coding standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/) that are followed:
+
+            - [PHP Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/)
+
+            - [CSS Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/css/)
+
+            - [HTML Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/html/)
+
+            - [JavaScript Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/)
+
+            - [Accessibility Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/accessibility/)
+
+            - [Inline Documentation Standards](https://developer.wordpress.org/coding-standards/inline-documentation-standards/)
+
+
+            Thank you,
+
+            The WordPress Project
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: branches/4.5/.github/workflows/welcome-new-contributors.yml
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="branches45dockercomposeyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.5/docker-compose.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/docker-compose.yml   2021-02-12 19:54:01 UTC (rev 50312)
+++ branches/4.5/docker-compose.yml     2021-02-12 20:00:11 UTC (rev 50313)
</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.7}
</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="branches45toolslocalenvscriptsinstalljs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.5/tools/local-env/scripts/install.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.5/tools/local-env/scripts/install.js   2021-02-12 19:54:01 UTC (rev 50312)
+++ branches/4.5/tools/local-env/scripts/install.js     2021-02-12 20:00:11 UTC (rev 50313)
</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>