Make WordPress Core

Opened 4 years ago

Closed 3 years ago

Last modified 3 years ago

#50401 closed task (blessed) (fixed)

Tests: Move tests into Github Actions

Reported by: whyisjake's profile whyisjake Owned by: desrosj's profile desrosj
Milestone: 5.7 Priority: normal
Severity: normal Version:
Component: Build/Test Tools Keywords: has-patch
Focuses: performance Cc:

Description

Our Travis testing environments can't get bogged down during periods of heavy development. (Let's be real, all the time...)

Let's do some experimentation and move some of our tests into GitHub Actions.

Attachments (4)

50401.diff (27.6 KB) - added by desrosj 3 years ago.
50401.2.diff (28.2 KB) - added by desrosj 3 years ago.
50401.3.diff (1.7 KB) - added by ocean90 3 years ago.
50401.4.diff (1.7 KB) - added by desrosj 3 years ago.
Detects GitHub Actions during automated tests.

Download all attachments as: .zip

Change History (166)

#1 @johnbillion
4 years ago

FWIW I've found GitHub Actions run almost exactly at the same speed as Travis (but the tests for my plugins don't typically get backed up like WordPress core tests do). Definitely worth experimentation.

#2 @ayeshrajans
4 years ago

Great to see this being started!
I experimented a little with this a few weeks back: https://github.com/Ayesh/wordpress-develop/tree/github-actions/.github/workflows

I will open a PR with those changes. The tests are not fully migrated because we have JS, and database tests, which should be spread across different workflow files. But hopefully the PR is a starting point.

This ticket was mentioned in PR #337 on WordPress/wordpress-develop by Ayesh.


4 years ago
#3

  • Keywords has-patch added

A PR to test GitHub Actions for Wordpress-Develop repo.
I will experiment changes with Ayesh/Wordpress-develop github-actions-2 branch first, and cherry-pick commits to this PR branch.

Trac ticket: https://core.trac.wordpress.org/ticket/50401

This ticket was mentioned in Slack in #core by whyisjake. View the logs.


4 years ago

#6 @desrosj
4 years ago

  • Owner set to desrosj

#7 @helen
3 years ago

Working through this with @desrosj, linting is working here (you can see some forced PHP errors and also interesting some JS ones): https://github.com/helen/wordpress-develop/pull/1/files

@desrosj is going to pull that together with his work on getting the rest of the tests running shortly.

This ticket was mentioned in PR #593 on WordPress/wordpress-develop by desrosj.


3 years ago
#8

  • Keywords has-patch added

#9 @desrosj
3 years ago

  • Keywords needs-testing added
  • Version 5.5 deleted

I've spent a chunk of time working through this, and I think I have a PR that can be considered. Before I dive in to what the PR contains, I want to document what the current CI processes are across the two services WordPress currently utilizes.

Appveyor

This service is used to test that NPM errors are not encountered on Windows based environments (context: #44276).

The workflow:

  • Runs only on pushes to master branch.
  • Installs the NodeJS version specified in the config file (currently 10.13.0).
  • Installs npm globally.
  • Runs npm install to install package.json dependencies.
  • Runs npm run build to ensure WordPress builds correctly.

Build failures are reported to #core in Slack when a build fails, or when a build succeeds with a previous failure.

Travis CI

The Travis CI configuration has many more jobs within a build. Here are their summaries:

  • E2E Tests: Runs the E2E test suite using npm run test:e2e.
  • PHP Linting: Runs the code base through PHPCS rulesets to check that coding standards are followed.
    • The phpcs.xml.dist ruleset is run against the entire codebase with warnings suppressed (-n) using composer lint:errors.
    • The phpcs.xml.dist ruleset is then re-run, but only against the test directory without warnings suppressed (warnings are not allowed within the test suite) using composer lint tests.
  • PHP Compatibility: The phpcompat.xml.dist ruleset is run against the codebase using composer compat.
  • JavaScript Linting & Testing: JSHint linting and QUnit tests are run on the codebase using npm run grunt travis:js.
  • PHPUnit Tests: All tests below are run using npm run test:php within the WordPress Docker container unless otherwise noted.
    • PHP 8.0: The PHPUnit tests are run within the Docker container with npm run test:php-composer. This ensures the Composer installed version of PHPUnit (with the necessary modifications made to backport the required parts for PHP 8 support).
    • PHP 7.4
    • PHP 7.3
    • PHP 7.3 with memcached
    • PHP 7.2
    • PHP 7.1
    • PHP 5.6

If any job within the build fails, the build is considered failed and the results are posted to #core in Slack. All failures and successful builds with a previous failure. Pull requests are ignored.

GitHub Actions

In GitHub actions, builds are called "workflows". Each workflow is comprised of jobs, and jobs are comprised of steps with actions (if you're not familiar with GitHub Actions yet, I recommend reading this quick breakdown).

I've set up 7 new workflow files to accomplish all of the current testing performed outlined above.

  • verify-npm-windows.yml: Replaces the NPM related testing on Windows currently handled by Appveyor.
  • coding-standards.yml: Runs the PHP coding standards checks done with PHPCS.
  • end-to-end-tests.yml: Runs the E2E test suite.
  • javascript-tests.yml: Runs JSHint linting and QUnit tests.
  • php-compatibility-testing.yml: Runs the PHP compatibility checks with PHPCS.
  • test-wordpress.yml: Runs the PHPUnit tests on various versions of PHP.
  • welcome-new-contributors.yml: Posts a comment welcoming new contributors with some helpful links and resources (when opening their first PR).

Some notes:

  • The PHPUnit workflow is broken down into two steps. The first downloads the additional files needed (WordPress Importer, for example), installs NPM dependencies, and builds WordPress before zipping and uploading the result of these actions as an artifact. The artifact is then downloaded in the second step (which expands the matrix of PHP versions to test) before setting up Docker and running the PHPUnit tests. Theoretically, this should be faster (WordPress is built once vs. once for each version of PHP), the ZIP could be downloaded and inspected if there are weird issues with test results, and these artifacts could potentially be useful in some way for someone looking to test a WordPress at a specific commit (they could download the zip into a local environment and just run WordPress without having to run npm install/npm run build). This may be overkill though, and these artifacts could be deleted.
  • PHPCS is currently run from inside the Docker container on Travis. I believe that this was done because the version of PHP (and the environment in general) was unreliable in Travis. In Actions, there is a setup-php action that is more reliable, so I don't think we need to utilize the Docker containers for these scans. This will also not be a problem when we start backporting workflows because coding standards checks were not added to the test suite until WordPress 5.1, which ran the checks using PHP 7.2. This applies to both the coding standards and PHP compatibility workflows.
  • The PHP compatibility ruleset explicitly specifies ./src/ as the only directory to run the checks on. However, lint-action has . hard coded when invoking phpcs. I was able to fix this by specifying /tests/ as an exclude pattern within the ruleset.
  • Unzipping files cannot be performed by an action. The file permissions and ownership did not match the runner's and will cause permission issues with Docker.

There are a handful of items that need to be fixed before these can be merged:

  • The PHP_FPM_UID and PHP_FPM_GID environment variables need to be made dynamic. They are currently hard coded. I was having trouble figuring out the correct syntax to set those variables to the results of id -u and id -g ,respectively.
  • The Slack notifications will need to be configured to work similarly to how they do currently for Travis builds for failed workflows. There seem to be a lot of Slack actions in the GitHub Marketplace, so looking for a recommendation form someone that has set these up in another project. This will also require a Slack admin, which @helen should be.
  • The test reporter will need to be configured with the necessary API key added as a repository secret.
  • For some reason, failures are not always reported on the correct workflow. For example, if coding standards or compatibility checks fail, they frequently are reported on other random workflows run from the same commit.
  • Because the lint-action hard codes . as the directory to run PHPCS, re-running the ruleset and allowing warnings within just the test directory is not currently being done. There is an open pull request on the action's repository to allow this, but I haven't figured out the best way around this. We could introduce a new PHPCS ruleset that uses the one defined within phpcs.xml.dist and adds an exclude pattern for src, but that's not really ideal.
  • There are some issues with some permission issues with actions and forks. I am not clear how these will translate once these workflows are merged. For example, the lint-action I am using states "The action doesn't have permission to create annotations for commits on forks and can therefore not display linting errors." But I'm not sure if the annotations will display within the context of the pull request itself. It's also not clear if these issues will prevent the Welcome workflow from working correctly when a PR is opened from a forked repository.

Here are some other "would be nice" items that don't necessarily need to be solved right now:

  • The version of NodeJS/NPM that is installed is currently hard coded as 12. This is fine for now, but this will cause a problem when the workflows are backported to older branches. Ideally, the version specified within .nvmrc should be read and installed instead. nvm is installed in the runner, so nvm install is an option, but using the actions/setup-node action seemed like the better path.
  • The idea behind Appveyor was to perform more regular testing for Windows based environments. The PHPUnit tests could easily be run on both Windows and Ubuntu by adding windows-latest to the os strategy. But there are a few issues that need to be solved first (totally outside the scope for this ticket, but just want to report all of my findings here for future reference):
    • The bridge network driver is not supported in Windows. Excluding that line from the docker-compose.yml file seems to work fine (bridge is the default on Linux machines, and Windows uses a different default), but that then causes an error attempting to pull the mysql:5.7 container.

After fixing the blockers outlined above and allowing some time for feedback (this is my first dive into GitHub actions, so I may very well be over complicating something somewhere), I think we could commit these workflows and keep Travis CI/Appveyor as the preferred testing services for a week or so in order to identify any issues.

😅 I think I covered everything I needed to touch on! I'll also upload a patch of the changes here in case someone prefers to look at patches in Trac.

The PR attached to the ticket will not run the workflows. TO see them in action, I have a PR against my fork that will show them running: https://github.com/desrosj/wordpress-develop/pull/2.

@desrosj
3 years ago

#10 @desrosj
3 years ago

A few more things that just came to me.

  • The JSHint linting should eventually be moved to the coding standards workflow, making the JavaScript workflow strictly about QUnit testing. However, the action I used for the PHPCS linting does not yet support JSHint. There is a ticket to move away from JSHint to ESLint (the docs related JS scans already are, see #43828), but I think we should explore that separately. For the purpose of moving our tests runners to GHA, we can continue to use the Grunt command for now.
  • 50401.diff and the PR intentionally contain a small number of PHPCS and PHP compatability issues in order to demonstrate that the workflows are correctly flagging those issues.

@desrosj
3 years ago

#11 @desrosj
3 years ago

Replying to desrosj:

  • The PHP compatibility ruleset explicitly specifies ./src/ as the only directory to run the checks on. However, lint-action has . hard coded when invoking phpcs. I was able to fix this by specifying /tests/ as an exclude pattern within the ruleset.

I've removed the lint-action from the workflows. While using maintained actions to setup and run the linting commands is nice, the PHPCS commands are only one line, so it's not unreasonable to hard code those instead of utilizing an action. Hard coding the commands also fixes the issue detailed above where it was impossible to lint just the tests directory with warnings enabled.

The below issues I mentioned above are also fixed in the latest patch:

  • The PHP_FPM_UID and PHP_FPM_GID environment variables need to be made dynamic.
  • For some reason, failures are not always reported on the correct workflow. For example, if coding standards or compatibility checks fail, they frequently are reported on other random workflows run from the same commit.

The failures not being reported on the correct workflow is due to an issue with how the GitHub checks API works. Checks are attached to commit SHAs, and the failure reports/annotations were being added to the newest workflow run for the commit being tested. By running the commands separate form the lint-action action, we are able to annotate the commit using a Checkstyle XML-report. The cs2pr tool can be installed when PHP is set up earlier in the workflow (props @ocean90 for the help figuring that out).

Also in the latest patch:

  • NodeJS is now installed before setting up caching for NPM. This ensures the correct version of NPM is cached.
  • The events triggering builds have been refined. This will prevent every push on a PR AND the PR itself from running duplicate workflows. I also used expressions to try and scope workflows that should not be run on early branches. For example, the coding standards scans were not added until WP 5.1, and the PHP compatibility scans were not added until WP 5.5.
  • I changed the version of PHP that is configured within linting jobs from latest to 7.4. This will prevent anything from breaking when latest becomes PHP 8 (just in case our tooling is not ready).

This leaves two items to figure out. They are not blockers for committing these workflows, but they will need to be tackled eventually:

  • Slack notifications
  • Reading the desired version of NodeJS specified in the .nvmrc file.

I played around with reading the .nvmrc file, but there are some issues. NVM supports aliases such as lts/* (which is the version specified in newer branches of WP), but the actions/setup-node does not (and also does not support reading .nvmrc files). This can be solved later on.

I also did some rough estimating of speeds. It's hard to get 100% accurate comparisons because I have been changing the workflows as I go, but here's how things breakdown:

  • E2E tests: almost identical
  • PHP compatibility: Roughly 1/2 the time
  • JavaScript testing and linting/PHP linting: These are hard to compare because the QUnit tests were split into their own workflow, and the JSHint checks have been merged into a singular coding standards workflow with the PHP checks.
  • PHP 8-7.0: Between 3-5 minutes faster.
  • PHP 5.6: roughly the same.

#12 @desrosj
3 years ago

In 49162:

Build/Test Tools: Introduce GitHub Action workflows.

This change introduces 6 different workflows accounting for all of the testing and analysis currently performed in Travis CI & Appveyor:

  • Checking PHP & JS coding standards are followed
  • Running the end-to-end test suite.
  • Running QUnit tests on JavaScript files.
  • Scanning for PHP compatibility issues with supported version.
  • Running the PHPUnit test suite.
  • Verifying NPM related tasks do not cause errors on Windows.

Additionally, a seventh workflow is included that will leave a "welcome" comment when a contributor opens their first pull request to the wordpress-develop mirror.

These workflows are currently in an experimental phase. For that reason, Travis CI and Appveyor will continue to run until all of the bugs can be worked out.

Props ayeshrajans, helen, ocean90, desrosj.
See #50401.

#14 @desrosj
3 years ago

  • Keywords needs-testing removed
  • Milestone changed from Future Release to 5.6

Been monitoring this with @helen the last few hours. There are a few things that we've noticed.

First, the "Welcome" workflow is unable to comment on the PR. It seems this is being caused by some access issues. It seems this can be solved by using pull_request_target as the event instead of pull_request. More info can be found on the GitHub Blog.

The second issue is that cancelled workflow runs are considered failures. This is not ideal because it will appear as though the commit associated with the cancelled workflow run introduced a problem to the codebase when that may not be true.

In Travis, builds are placed in a queue among others associated with your account/organization. While there is a queue in GitHub Actions, their usage model is based on minutes, not concurrent jobs. It's unlikely that we'll experience the same bottleneck waiting for jobs to run, so I'm going to remove the "Cancel previous runs of this workflow" steps in the PHPUnit and E2E test workflows.

#15 @desrosj
3 years ago

In 49168:

Build/Test Tools: Do not cancel previous workflow runs.

When a workflow is cancelled, it’s marked as a failure. This is not ideal because the commit attached to the workflow run will appear as though it introduced a problem, but this may not be true.

Because GitHub Actions work a bit differently than Travis builds, it’s unlikely that the same bottleneck will be encountered in workflows.

This change removes all workflow job steps that cancel previous workflows.

See #50401.

#16 @desrosj
3 years ago

In 49169:

Build/Test Tools: Change the event that triggers the “Welcome” workflow.

When a contributor opens their first pull request to wordpress-develop, the “Welcome” workflow runs and leaves a comment with guidance, helpful information, and resources.

However, because a workflow run triggered by the pull_request event runs against the workflow and code from the merge commit, the needed context and permissions to comment on the pull request are missing. By changing the trigger event to pull_request_target, the workflow runs against the workflow and code in the base of the pull request and is able to comment on when appropriate.

See #50401.

#17 @desrosj
3 years ago

Leaving this open for a bit in case any issues come up!

Ayesh commented on PR #337:


3 years ago
#18

Closing in favor of #593.

@ocean90
3 years ago

#19 @desrosj
3 years ago

In 49175:

Build/Test Tools: Specify the full working directory for PHPCS

Props ocean90.
See #50401.

@desrosj
3 years ago

Detects GitHub Actions during automated tests.

desrosj commented on PR #620:


3 years ago
#21

Thanks! This does look a bit more clear. My only issue is that the memcached job does not include that in the name. So right now it appears 2 identical 7.4 jobs run.

I also have a patch on the Trac ticket that should fix those external HTTP tests. If you could remove the fast fail and add that patch here for testing, that would help verify that.

ocean90 commented on PR #620:


3 years ago
#22

@desrosj Doesn't seem like 50401.4.diff changes anything but the workflow should be good now.

#23 @desrosj
3 years ago

In 49204:

Build/Test Tools: Improve the clarity for PHPUnit workflow strategy.

This change makes better use of the job strategy matrix for workflows. By using include, the memcached and test reporting job can be configured more clearly.

Props ocean90.
See #50401.

#24 @desrosj
3 years ago

In 49227:

Build/Test Tools: Download Chromium for E2E tests only.

This prevents Chromium from being downloaded in workflows where it is not required.

See #49621, #50649, #50401.

#25 @desrosj
3 years ago

In 49228:

Build/Test Tools: Download Chromium for JS tests.

Partial revert of [49227].

See #50401.

#26 @desrosj
3 years ago

In 49244:

Build/Test Tools: Cancel previous active workflow runs for pull requests.

Because workflow results are reported for each commit, it’s important to let all runs against main and version branches to complete so that the checks are reported accurately.

When considering and reviewing pull requests, the only workflow run that matters is the most recent.

Props ocean90, helen.
See #50401.

#27 @desrosj
3 years ago

  • Type changed from enhancement to task (blessed)

Converting this to a task so we can continue to refine.

#28 @desrosj
3 years ago

In 49264:

Build/Test Tools: Skip some tests when not in the primary branch.

This skips time sensitive tests when GitHub Actions workflows are not being run on master branch.

See #50401, #39486.

#29 @desrosj
3 years ago

In 49267:

Build/Test Tools: Pass GitHub Action related environment variables to the Docker container.

This ensures that WP_UnitTestCase::skipOnAutomatedBranches() has access to these variables so that time sensitive tests can be skipped when appropriate.

This also updates that logic to be more clear.

Follow up to [49264].

Props ocean90, johnbillion.
See #50401, #49050, #47767.

This ticket was mentioned in Slack in #core by sergey. View the logs.


3 years ago

#31 @desrosj
3 years ago

In 49280:

Build/Test Tools: Remove debug text included in [49267].

See #50401.

#32 @desrosj
3 years ago

In 49369:

Build/Test Tools: Use install-changed to install NPM dependencies in GitHub Action workflows.

The install-changed package records a hash of the package.json file locally in a text file and only runs npm install when there are changes to account for.

This builds on [47497], which only hashes the package.json file after a Grunt task is called. By using npx install-changed within the workflow files, the package is hashed before the first Grunt task is run.

Props ocean90.
See #50401, #49594.

#33 @desrosj
3 years ago

In 49371:

Build/Test Tools: Avoid logging the same debug info twice in the PHPUnit workflow.

Also includes some inline documentation fixes for workflow files.

See #50401.

#34 @desrosj
3 years ago

In 49491:

Build/Test Tools: Disable update attempts while running unit tests.

This fixes an issue introduced in [49369] that causes l10n related tests to fail when the PHPUnit test suite is run multiple times without hints of the site being under version control.

[49369] removed the .git folder from the ZIP artifact created during the initial setup job. This ZIP file is used by the later jobs in the workflow that run the test suite. The absence of the .git folder in these later jobs caused the language packs initially loaded from phpunit/data/languages folder to be updated asynchronously, resulting in unexpected values when running the tests a second time.

This change disables all Core auto-update and asynchronous language pack update attempts when running PHPUnit tests.

Props ocean90, SergeyBiryukov.
See #50401.
Fixes #51670.

#35 @desrosj
3 years ago

In 49548:

Build/Test Tools: Clean up the new contributor welcome message.

Props ocean90, jeffpaul.
See #50401.

#36 @desrosj
3 years ago

#34694 was marked as a duplicate.

#37 @helen
3 years ago

Thinking about how to limit runs on private mirrors that eat up minutes, I see two options:

  • Using an if: ${{ github.repository == 'WordPress/wordpress-develop' }} conditional to bail on non-PR triggers
  • Checking for a secret like WP_TEST_ALL_EVENTS (or whatever name) before bailing or proceeding on non-PR triggers

The latter seems easier to manage from a contributor perspective, so forks don't end up having to maintain a diverged version of all the workflow files if they want to run tests on all pushes to branches and instead "just" set the one secret. I don't know if maybe that looks a little strange though, or if we would want to have separate secrets and checks for branch pushes vs. scheduled cron. Also open to other possibilities my 5.6-addled brain has not come up with :)

Apart from that, I think we're probably okay to close out this ticket and open up new ones for issues that come up and for the actual turning off of Travis for core?

#38 @helen
3 years ago

More on the secret/const idea:

  • WP_GHA_PR, WP_GHA_TRUNK, WP_GHA_BRANCHES for pull requests, trunk/master, and SVN branches (X.Y) respectively.

I remembered that you can disable individual workflows in the GitHub Actions UI, but I think that does still require an initial run so you then see it in the UI to be able to disable it, which may still be bad for minutes. If we wanted it to be more of an opt-in route, then we could also implement something like:

  • WP_TEST_ALL, WP_TEST_PHPUNIT, WP_TEST_PHPCS, etc. for test workflows, and decide whether the rest need code level disabling or if they're okay to just disable in the UI.

Most people would then want to set WP_GHA_PR and WP_TEST_ALL on their forks. Thoughts?

This ticket was mentioned in PR #761 on WordPress/wordpress-develop by desrosj.


3 years ago
#39

This limits the workflow from running by default on forks, and adds support for 2 secrets per workflow that allows for granular configuration to run workflows as desired:

  • One for running the workflow under the same conditions as the mirror
  • One for only running on pull requests to the forked repo.

Unfortunately, GitHub Actions does not yet support using secrets or env within the context and expression syntax used for if: conditions, regardless if the env variables are defined on the workflow, or individual job level.

Trac ticket: https://core.trac.wordpress.org/ticket/50401

This ticket was mentioned in PR #762 on WordPress/wordpress-develop by desrosj.


3 years ago
#40

To prevent unnecessary workflow runs on forks of WordPress/wordpress-develop, only run workflows if the repository is actually the official mirror repo.

Trac ticket: https://core.trac.wordpress.org/ticket/50401.

#41 @desrosj
3 years ago

I've been playing around with this a bit today, and created two PRs.

This one (762) will prevent the workflows from running on any fork of WordPress/wordpress-develop. We could roll with this temporarily. However, if anyone wishes to run the workflows on their fork, they would have to override the .yml files and this would introduce the same headache we are trying to avoid.

The second PR (761) is, in my opinion, the ideal solution. It disables the workflows on any repository that is not the official WordPress/wordpress-develop mirror, but also provides the fork owner with two options per workflow.

  • Enable all workflows to function on the fork exactly as they would for the mirror. (WP_GHA_FORK)
  • Enable an individual workflow to function exactly on the fork as they would for the mirror. (WP_*)
  • Enable an individual workflow to function for pull requests on the fork as they would for the mirror. (WP_*_PR)

These secrets can be defined at the repository or organization level, making it easy to define for just one repo, or throughout the organization (if, for some reason, multiple forks/mirrors of wordpress-develop are maintained).

It seems secrets and env variables are not available to the job specific if:s within the workflow file. secrets can be used in steps, but only when provided as an input. While env context is documented as available to with and name keys for a job, and if conditionals for a step, environment variables defined at the workflow level are not available at the job level.

One workaround could be to add a step to each workflow that happens first, checks for the presence of the secret, and cancels the job. However, this would still result in some workflow minutes being used, as the workflow would have to initialize and proceed to the first step in order to cancel, so that's not 100% ideal.

Last edited 3 years ago by desrosj (previous) (diff)

#42 @desrosj
3 years ago

5.6 being branched has also served as a good test scenario for backporting the workflow files. So far, it seems everything is running as expected. The only thing that has yet to be tested is the scheduled cron run for the PHPUnit test workflow, which runs on Sunday evenings at 00:00 UTC.

If we cannot solve the remaining issue by the time 5.6 is released, I am not opposed to spinning that off into its own issue.

#43 @hellofromTonya
3 years ago

  • Milestone changed from 5.6 to 5.7

Punting this ticket to 5.7 as today is 5.6 RC2.

If any maintainer or committer feels this can be resolved in time, or wishes to assume ownership during a specific cycle, feel free to update the milestone accordingly.

This ticket was mentioned in Slack in #core by desrosj. View the logs.


3 years ago

#45 @desrosj
3 years ago

After giving this more thought, I'm thinking we should proceed by disabling all workflow runs on forks, except those triggered by pull requests. This would only result in the workflows running on the fork if someone opens a pull request to the fork. I sometimes use this workflow to test a PR before submitting it to the official mirror.

Committing directly to a branch of a wordpress-develop fork is not really the best way to go about maintaining a fork for development purposes anyway, unless you truly intend to steer away from the WordPress codebase. In that case, merging updates to the workflow files from the mirror upstream is the least of your problems, as you'll likely experience merge conflicts throughout the branch.

This solves the issue where private mirrors run too many workflows from push events, and still allows collaboration within those private repos.

I've updated https://github.com/WordPress/wordpress-develop/pull/762 with this approach.

desrosj commented on PR #762:


3 years ago
#46

@linuxandroid-xyz sorry, I missed your message above previously.

I'm not sure what you are asking or suggesting because there is no context, just an error log dump. Also, I'm not sure how this relates to the code suggestions in this pull request.

desrosj commented on PR #761:


3 years ago
#47

Closing in favor of #762. Unfortunately, this level of granularity does not seem like it will work with what's currently available on GitHub Actions.

#48 @desrosj
3 years ago

In 49781:

Build/Test Tools: Disable GitHub Action workflow runs triggered on push for forks and mirrors.

In the current state, the workflows run regardless of the repository context. This results many needless workflow runs that waste resources.

Workflow runs for private repositories are not free (accounts have a finite allotment of minutes for private repositories). This becomes problematic in private repositories that also mirror the WordPress develop repository, as any workflow runs will draw from a user’s or organization’s allotted action minutes.

Without blanket disabling the workflow manually for all event triggers, or modifying the workflow files in the forked/mirrored repository, there is no way to tune when the workflows run.

This change introduces a conditional statement into all GitHub Action workflows that prevents them from running on forked/mirrored repositories that are not wordpress-develop, except when a pull request is being submitted to that repository.

The exception to this is the Welcome workflow that posts a helpful message to first time contributors to wordpress-develop. This message is specific to this repository, so should only run when a PR is submitted to that repository.

See #50401.

#50 @desrosj
3 years ago

In 49782:

Build/Test Tools: Use NodeJS 14 in GitHub Action workflows.

14.x is the current LTS release, and is what trunk currently runs.

See #50401.

#51 @desrosj
3 years ago

In 49783:

Build/Test Tools: Enable reporting of results to WordPress.org.

This configures reporting of the test results to the WordPress.org Host Test Results in the new GitHub Actions workflow for PHPUnit testing.

See https://make.wordpress.org/hosting/test-results/

Props mikeschroder, dd32.
See #50401.

#52 @desrosj
3 years ago

In 49784:

Build/Test Tools: Inline documentation updates for the PHPUnit workflow.

See #50401.

#53 @desrosj
3 years ago

In 49786:

Build/Test Tools: Reestablish the codebase as a Git repo before reporting test results.

The test reporter uses the hidden .svn or .git directories to determine which changeset to send to WordPress.org along with the test report.

Because the GitHub Action workflow builds and prepares WordPress in a preceding job to share with each test job, the .git directory is missing (it is purposefully not included to limit artifact size).

This re-establishes the directory as a checkout of the wordpress-develop repository so that test results can be reported correctly.

See #50401.

This ticket was mentioned in PR #808 on WordPress/wordpress-develop by helen.


3 years ago
#54

Setting up Slack notifications for GH Actions. Brain dump follows:

  • Each workflow is treated separately, not sure how to group all checks per commit the way the GH Slack action does for PRs

(probably need to look at their source)

  • Do we still want to only notify on status change? I rather like knowing pass/fail for all commits to trunk and branches but can be convinced otherwise.

See #tmp-notification-testing, didn't want to leave it in a DM so others could collaborate as desired.

Trac ticket: https://core.trac.wordpress.org/ticket/50401

ocean90 commented on PR #808:


3 years ago
#55

@helen The dist file has a few more replace() calls. I'm wondering whether the SLACK_WEBHOOK_URL is actually set since I don't see a masked value in the log.

helen commented on PR #808:


3 years ago
#56

@ocean90 It was but I deleted and set it again copying it out of my successful curl command and it's still not showing up in the log 🤷🏻‍♀️

ocean90 commented on PR #808:


3 years ago
#57

Each workflow is treated separately, not sure how to group all checks per commit the way the GH Slack action does for PRs

This is done by updating an existing message. Each status is basically a new attachment.

I have developed the Slack Messaging action which for example outputs the message_id so it can be used to update the initial message. This message_id needs to be available to all workflows which I'm not sure is possible since they may run in parallel. 🤔

helen commented on PR #808:


3 years ago
#58

Closing while I try something else so this doesn't keep running workflows here.

This ticket was mentioned in Slack in #core by sergey. View the logs.


3 years ago

#60 @desrosj
3 years ago

In 49876:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Fixes #52161. See #50401.

#61 @desrosj
3 years ago

In 49877:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 5.6 branch.
See #52161. See #50401.

#62 @desrosj
3 years ago

In 49878:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 5.5 branch.
See #52161. See #50401.

#63 @desrosj
3 years ago

In 49879:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 5.4 branch.
See #52161. See #50401.

#64 @desrosj
3 years ago

In 49880:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 5.3 branch.
See #52161. See #50401.

#65 @desrosj
3 years ago

In 49881:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 5.2 branch.
See #52161. See #50401.

#66 @desrosj
3 years ago

In 49882:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 5.1 branch.
See #52161. See #50401.

#67 @desrosj
3 years ago

In 49883:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 5.0 branch.
See #52161. See #50401.

#68 @desrosj
3 years ago

In 49884:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.9 branch.
See #52161. See #50401.

#69 @desrosj
3 years ago

In 49886:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.7 branch.
See #52161. See #50401.

#70 @desrosj
3 years ago

In 49887:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.6 branch.
See #52161. See #50401.

#71 @desrosj
3 years ago

In 49888:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.5 branch.
See #52161. See #50401.

#72 @desrosj
3 years ago

In 49890:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.3 branch.
See #52161. See #50401.

#73 @ayeshrajans
3 years ago

This is an amazing work, thanks a lot @desrosj and contributors. Chewing several thousands of tests we have in WordPress across several PHP versions is no easy task nor an inexpensive one. Thank you Travis.

#74 @desrosj
3 years ago

In 49891:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.2 branch.
See #52161. See #50401.

#75 @desrosj
3 years ago

In 49892:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.1 branch.
See #52161. See #50401.

#76 @desrosj
3 years ago

In 49893:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 4.0 branch.
See #52161. See #50401.

#77 @desrosj
3 years ago

In 49894:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 3.9 branch.
See #52161. See #50401.

#78 @desrosj
3 years ago

In 49895:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 3.8 branch.
See #52161. See #50401.

#79 @desrosj
3 years ago

In 49898:

Build/Test Tools: Remove the TravisCI configuration file.

In [49162], GitHub Action workflow configuration files were introduced to run all of Core’s automated testing with the intent to fully transition after some time was allowed for testing.

After two full months of testing, the time to finish this transition has come.

We thank TravisCI for testing the codebase through nearly 20 major and many more minor releases.

Merges [49876] to the 3.7 branch.
See #52161. See #50401.

#80 @SergeyBiryukov
3 years ago

In 49916:

Build/Test Tools: Check if Travis/GitHub Actions environment variables are defined.

This adjusts the logic for determining whether to skip some tests when not in the primary branch, and allows for running these tests locally.

Follow-up to [47000], [47001], [49264], [49267], [49280].

See #50401.

#81 @desrosj
3 years ago

In 49931:

Build/Test Tools: Change the frequency of code coverage reporting.

Before the coverage reports were submitted to Codecov.io, HTML coverage reports were compressed into ZIP files and uploaded to the workflow run as an artifact. A weekly schedule was chosen to run this workflow because generating a coverage report is more time consuming, and the resulting reports are quite large (~150-200MB each).

This changes the schedule for the code coverage workflow from weekly to daily and eliminates the ZIP artifacts that were previously generated. This will ensure the code coverage data found at https://codecov.io/gh/WordPress/wordpress-develop is relatively accurate on any given day of the week without needlessly consuming artifact storage.

Props jorbin.
See #50401, #52141.

This ticket was mentioned in PR #852 on WordPress/wordpress-develop by desrosj.


3 years ago
#82

This PR switches from manually configuring caching for Composer dependencies to using a published action instead. This allows the 3-4 steps used to configure Composer caching to be combined into one.

This also removes the --prefer-dist (which is now the default) and --no-suggest (deprecated) flags from Composer commands.

The PHPUnit workflow's Composer caching will remain the same, but the cache key has been adjusted to include the PHP version being used. Currently only the PHP 8.0 job utilizes Composer dependencies, but if other versions run composer install in the future, it would result in incompatible package versions being loaded as all jobs would currently share a cache key.

Trac ticket: https://core.trac.wordpress.org/ticket/50401.

#83 @desrosj
3 years ago

In 49938:

Build/Test Tools: Simplify Composer package caching.

This simplifies the caching of Composer dependencies in the coding standards and PHP compatibility workflows by using a published action. This combines 3 steps into 1 within these workflows.

Because the Composer implementation within the PHPUnit test workflow is a bit specialized (composer install is run within the Docker container), caching has been left as is in that workflow. However, the cache key has been changed to include the version of PHP being tested. This will prevent incorrect versions of dependencies being present when they are required on jobs other than PHP 8.

Props jrf.
See #50401.

#85 @desrosj
3 years ago

In 50198:

Build/Test Tools: Change the version of NodeJS tested on Windows to 14.

Merges [49782] to the 5.6 branch.
See #50401.

#86 @desrosj
3 years ago

In 50208:

Build/Test Tools: Support NodeJS 14.x in the 4.5 branch.

This updates the 4.5 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This also replaces the npm-shrinkwrap.json with a package-lock.json file. Lock files were not supported in earlier versions of NPM, but can now be used.

In addition to backporting the package updates that happened after branching 4.5, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [37185,37212,37612,38111,38688,39110,39113-39119,39478,42460-42461,42463,42887,43320,43323,43977,44219,44233,44728,45321,45765,46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,50017,50126,50176,50185,50192] to the 4.5 branch.
See #52341.

#87 @desrosj
3 years ago

In 50210:

Build/Test Tools: Support NodeJS 14.x in the 4.4 branch.

This updates the 4.4 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This also replaces the npm-shrinkwrap.json with a package-lock.json file. Lock files were not supported in earlier versions of NPM, but can now be used.

In addition to backporting the package updates that happened after branching 4.4, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [35859,35862,36860-36865,36935,36978-36979,37017,37019-37020,37212,37612,38111,38688,39110,39113-39119,39478,42460-42461,42463,42887,43320,43323,43977,44219,44233,44728,45321,45765,46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,50017,50126,50176,50185,50192] to the 4.4 branch.
See #52341.

#88 @desrosj
3 years ago

In 50212:

Build/Test Tools: Support NodeJS 14.x in the 4.3 branch.

This updates the 4.3 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This change also introduces a packager-lock.json file to the branch.

In addition to backporting the package updates that happened after branching 4.3, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [33726,34888,35332,35335,35363,35513,35520-35521,35538-35541,35562-35563,35859-36865,36935,36978-36980,37017,37019-37020,37212,37612,38111,38688,39110,39113-39119,39478,42460-42461,42463,42887,43320,43323,43977,44219,44233,44728,45321,45765,46404,46408-46409,47404,47867-47869,47872-47873,48705,49636,49933,49937,49939,50017,50126,50176,50185] to the 4.3 branch.
See #52341.

#89 @desrosj
3 years ago

In 50214:

Build/Test Tools: Support NodeJS 14.x in the 4.2 branch.

This updates the 4.2 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This change also introduces a packager-lock.json file to the branch.

In addition to backporting the package updates that happened after branching 4.2, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [32356-32357,32988,33726,34888,35335,35363,35513,35521,35538-35541,35859,36861-36865,36935,36979,37017,37019-37020,37212,37612,38111,39110,39113,39115-39119,39478,41835,42460,42461,42463,42887,43320,43323,43977,44219,44233,45321,45765,46404,46408-46409,47404,47867,47872-47873,48705,49636,49933,49937,49939,50126,50176,50185] to the 4.2 branch.
See #52341.

#90 @desrosj
3 years ago

In 50216:

Build/Test Tools: Support NodeJS 14.x in the 4.1 branch.

This updates the 4.1 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This change also introduces a packager-lock.json file to the branch.

In addition to backporting the package updates that happened after branching 4.1, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [31425,31504,31557,31648-31650,32356-32357,32988,33726,35363,35513,35521,35538-35541,35859,36861-36865,37017,37019-37020,37212,37612,38111,39110,39113,39115-39117,39478,41835,42460-42461,42463,42887,43320,43323,43977,44219,44233,45321,45765,46404,46408-46409,47404,47867,47872-47873,48705,49636,49933,49937,49939,50126,50176,50185] to the 4.1 branch.
See #52341.

#91 @desrosj
3 years ago

In 50218:

Build/Test Tools: Support NodeJS 14.x in the 4.0 branch.

This updates the 4.0 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This change also introduces a packager-lock.json file to the branch.

In addition to backporting the package updates that happened after branching 4.0, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [30059-30063,30066-30067,31425,31504,31557,31648,31649-31650,32356-32357,32988,33726,35363,35513,35521,35538-35541,35859,36861-36865,37017,37019-37020,37212,37612,38111,39110,39113,39115-39117,39478,41835,42460-42461,42463,42887,43320,43323,43977,44219,44233,45321,45765,46404,46408-46409,47404,47867,47872-47873,48705,49636,49933,49937,49939,50126,50176,50185,50192] to the 4.0 branch.
See #52341.

#92 @desrosj
3 years ago

In 50220:

Build/Test Tools: Support NodeJS 14.x in the 3.9 branch.

This updates the 3.9 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This change also introduces a packager-lock.json file to the branch.

In addition to backporting the package updates that happened after branching 3.9, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [28695,28796,28821,29270,29505,29858-30059,30061-30063,30066-30067,31425,31504,31557,31648-31650,32356-32357,32988,33726,35363,35513,35521,35538-35541,35859,36861-36865,37017,37019,37020,37212,37612,38111,39110,39113,39115-39117,39478,41835,42460-42461,42463,42887,43320,43323,43977,44219,44233,45321,45765,46404,46408-46409,47404,47867,47872-47873,48705,49636,49933,49937,49939,50126,50176,50185] to the 3.9 branch.
See #52341.

#93 @desrosj
3 years ago

In 50222:

Build/Test Tools: Support NodeJS 14.x in the 3.8 branch.

This updates the 3.8 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This change also introduces a packager-lock.json file to the branch.

In addition to backporting the package updates that happened after branching 3.8, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [26886,27053,28796,27053,29270,29505,30060,30062-30063,30066,31425,31648,31649,31650,32356,32988,33726,35363,35513,35521,35538-35541,36861-36865,37017,37019,37020,37212,39110,39113,39115-39116,39117,39478,41835,42460,42461,42463,43320,43323,43977,44219,44233,45321,46408-46409,47404,47867,47872-47873,49636,49933,49937,49939,50126,50176,50185,50192] to the 3.8 branch.
See #52341.

#94 @desrosj
3 years ago

In 50224:

Build/Test Tools: Support NodeJS 14.x in the 3.7 branch.

This updates the 3.7 branch to support the latest LTS version of NodeJS (currently 14.x), allowing the same version to be used across all WordPress branches that receive security updates as a courtesy.

Because older branches use (really) old versions of NodeJS, the local Docker environment cannot be backported since the needed dependencies will not run on these older versions (see #48301). This also blocks the ability to move automated testing over to GitHub Actions (see #50401).

This change also introduces a packager-lock.json file to the branch.

In addition to backporting the package updates that happened after branching 3.7, dependencies that were removed in future releases have also been updated to their latest versions.

Props desrosj, dd32, netweb, jorbin.
Merges [27053,27299,27721,27848,28796,29270,30060,30062-30063,30066,31557,31650,32356,32988,33726,35513,35521,35538,35540-35541,36861-36865,37019-37020,37212,37612,38111,39113,39115-39117,39478,42460-42461,42887,42989,43320,43323,43977,44219,45446,45765,46408-46409,47867,47872,48705,49636,49933,49939,50185] to the 3.7 branch.
See #52341.

#95 @desrosj
3 years ago

In 50268:

Build/Test Tools: Correct some inline documentation within GitHub Action files.

This corrects several inaccuracies within the GitHub Action workflow files.

See #50401.

This ticket was mentioned in Slack in #core by sergey. View the logs.


3 years ago

#97 @desrosj
3 years ago

In 50296:

Build/Test Tools: Merge several automated testing improvements to the 5.6 branch.

This merges several refinements to GitHub Action workflow files to the 5.6 branch.

It also includes [49836], which added the ability to replace mysql with mariadb when using the local Docker environment to ensure consistency of the tools across branches.

Props johnbillion.
Merges [49781-49784,49786,49836,49938,50268,50285] to the 5.6 branch.
See #50401.

#98 @desrosj
3 years ago

In 50298:

Build/Test Tools: Run automated testing when tags are created.

This expands the list of events that triggers automated testing to include tags.

It also refines the matched version ranges for several workflows.

See #50401.

#99 @desrosj
3 years ago

In 50299:

Build/Test Tools: Run xDebug tests on PHP 8.0.

The PHP 8 Docker container for the local WordPress environment now contains xDebug 3.x (the version required for running on PHP 8), so the xdebug test group can now be run.

See #50401, #51802.

#100 @desrosj
3 years ago

In 50301:

Build/Test Tools: Run automated testing when tags are created.

This expands the list of events that triggers automated testing to include tags.

It also refines the matched version ranges for several workflows.

Merges [50298] to the 5.6 branch.
See #50401.

#101 @desrosj
3 years ago

In 50302:

Build/Test Tools: Restore automated testing in the 5.5 branch.

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

In addition, [49836] and [50285] 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 5.5 branch.
See #50401.

#102 @desrosj
3 years ago

In 50303:

Build/Test Tools: Restore automated testing in the 5.4 branch.

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

In addition, [49836] and [50285] 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 5.4 branch.
See #50401.

#103 @desrosj
3 years ago

In 50304:

Build/Test Tools: Restore automated testing in the 5.3 branch.

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

In addition, [49836] and [50285] 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 5.3 branch.
See #50401.

#104 @desrosj
3 years ago

In 50305:

Build/Test Tools: Restore automated testing in the 5.2 branch.

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

In addition, [49836] and [50285] 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 5.2 branch.
See #50401.

#105 @desrosj
3 years ago

In 50306:

Build/Test Tools: Restore automated testing in the 5.1 branch.

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

In addition, [49836] and [50285] 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 5.1 branch.
See #50401.

#106 @desrosj
3 years ago

In 50307:

Build/Test Tools: Restore automated testing in the 5.0 branch.

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

In addition, [49836] and [50285] 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 5.0 branch.
See #50401.

#107 @desrosj
3 years ago

In 50308:

Build/Test Tools: Restore automated testing in the 4.9 branch.

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

In addition, [49836] and [50285] 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.9 branch.
See #50401.

#108 @desrosj
3 years ago

In 50309:

Build/Test Tools: Restore automated testing in the 4.8 branch.

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

In addition, [49836] and [50285] 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.8 branch.
See #50401.

#109 @desrosj
3 years ago

In 50310:

Build/Test Tools: Restore automated testing in the 4.7 branch.

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

In addition, [49836] and [50285] 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.7 branch.
See #50401.

#110 @desrosj
3 years ago

In 50311:

Build/Test Tools: Restore automated testing in the 4.6 branch.

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

In addition, [49836] and [50285] 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.6 branch.
See #50401.

#111 @desrosj
3 years ago

In 50312:

Build/Test Tools: Correct inline documentation for build matrix.

Follow up to [50311].

See #50401.

#112 @desrosj
3 years ago

In 50313:

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, [49836] and [50285] 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 #50401.

#113 @desrosj
3 years ago

In 50314:

Build/Test Tools: Restore automated testing in the 4.4 branch.

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

In addition, [49836] and [50285] 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.4 branch.
See #50401.

#114 @desrosj
3 years ago

In 50315:

Build/Test Tools: Add an object cache drop-in.

This adds an object cache drop-in to the tests/phpunit/includes directory to avoid relying on and having to copy from an external repository.

Follow up to [50313].

See #50401.

#115 @desrosj
3 years ago

In 50316:

Build/Test Tools: Add an object cache drop-in to the 4.4 branch.

This adds an object cache drop-in to the tests/phpunit/includes directory to avoid relying on and having to copy from an external repository.

It also removes a stray character that was mistakenly included in [50210].

Follow up to [50210], [50314].

Unprops desrosj.
See #50401.

#116 @desrosj
3 years ago

In 50317:

Build/Test Tools: Restore automated testing in the 4.3 branch.

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

In addition, [49836] and [50285] 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.3 branch.
See #50401.

#117 @desrosj
3 years ago

In 50318:

Build/Test Tools: Use the correct build matrix for the 4.3 branch.

Follow up to [50317].

See #50401.

#118 @desrosj
3 years ago

In 50319:

Build/Test Tools: Restore automated testing in the 4.2 branch.

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

In addition, [49836] and [50285] 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.2 branch.
See #50401.

#119 @desrosj
3 years ago

In 50320:

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, [49836] and [50285] 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 #50401.

#120 @desrosj
3 years ago

In 50321:

Build/Test Tools: Restore automated testing in the 4.0 branch.

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

In addition, [49836] and [50285] 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.0 branch.
See #50401.

#121 @desrosj
3 years ago

In 50322:

Build/Test Tools: Restore automated testing in the 3.9 branch.

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

In addition, [49836] and [50285] 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 3.9 branch.
See #50401.

#122 @desrosj
3 years ago

In 50323:

Build/Test Tools: Restore automated testing in the 3.8 branch.

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

In addition, [49836] and [50285] 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 3.8 branch.
See #50401.

#123 @desrosj
3 years ago

In 50324:

Build/Test Tools: Restore automated testing in the 3.7 branch.

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

In addition, [49836] and [50285] 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 3.7 branch.
See #50401.

#124 @desrosj
3 years ago

In 50325:

Build/Test Tools: Remove unused test groups from the 4.1 branch.

Follow up to [50320].

See #50401.

#125 @desrosj
3 years ago

In 50326:

Build/Test Tools: Remove unused test groups from the 4.2 branch.

Follow up to [50319].

See #50401.

#126 @desrosj
3 years ago

In 50327:

Build/Test Tools: Remove unused test groups from the 4.3 branch.

Follow up to [50317].

See #50401.

#127 @desrosj
3 years ago

In 50328:

Build/Test Tools: Remove unused test groups from the 4.4 branch.

Follow up to [50314].

See #50401.

#128 @desrosj
3 years ago

In 50329:

Build/Test Tools: Remove unused test groups from the 4.5 branch.

Follow up to [50313].

See #50401.

#129 @desrosj
3 years ago

In 50330:

Build/Test Tools: Remove unused test groups from the 4.6 branch.

Follow up to [50311].

See #50401.

#130 @desrosj
3 years ago

In 50331:

Build/Test Tools: Remove unused test groups from the 4.7 branch.

Follow up to [50310].

See #50401.

#131 @desrosj
3 years ago

In 50332:

Build/Test Tools: Remove unused test groups from the 4.8 branch.

Follow up to [50309].

See #50401.

#132 @desrosj
3 years ago

In 50333:

Build/Test Tools: Remove unused test groups from the 4.9 branch.

Follow up to [50308].

See #50401.

#133 @desrosj
3 years ago

In 50334:

Build/Test Tools: Remove unused test groups from the 5.0 branch.

Follow up to [50307].

See #50401.

#134 @desrosj
3 years ago

In 50335:

Build/Test Tools: Remove unused test groups from the 5.1 branch.

Follow up to [50306].

See #50401.

#135 @desrosj
3 years ago

In 50336:

Build/Test Tools: Remove unused test groups from the 5.2 branch.

Follow up to [50305].

See #50401.

#136 @desrosj
3 years ago

Automated testing has been restored for all branches. Some notes:

  • I elected to include all workflow files, even if they are not used in the branch. This made merging the changesets to older branches much easier (it avoids conflicts when the files are missing). The workflows will not run because of the way branches are scoped under the push trigger event. However, the pull_request will need to be removed from workflows that do not apply to certain branches if these files will remain. Otherwise, they will run and fail for all pull_request events.
  • The PHP 5.2 job is missing from branches that support that version. This is blocked by getting PHPUnit 3.6 to install within the PHPUnit Docker container for PHP 5.2. See https://github.com/WordPress/wpdev-docker-images/pull/46 for more information.
  • I decided to test all versions of PHP supported in each branch. My thinking was that there should be a successful test job on record for every combination to prove the transition worked. When PHP 5.2 is added to the matrix, these can also be trimmed appropriately to limit unnecessary builds.

#137 @desrosj
3 years ago

One last item: Slack notifications still need to be configured. Once that is configured, it can be backported to all older branches.

This ticket was mentioned in PR #1013 on WordPress/wordpress-develop by desrosj.


3 years ago
#138

This updates the following GHA actions:

  • actions/setup-node to version 2.
  • styfle/cancel-workflow-action to version 0.8.0.

Trac ticket: https://core.trac.wordpress.org/ticket/50401

This ticket was mentioned in Slack in #core by desrosj. View the logs.


3 years ago

#140 @desrosj
3 years ago

In 50387:

Build/Test Tools: Update actions within test workflows to the latest versions.

This updates two published GitHub actions to their latest versions:

  • actions/setup-node from v1 to v2.
  • styfle/cancel-workflow-action from 0.5.0 to 0.8.0.

See #50401.

#142 @desrosj
3 years ago

  • Resolution set to fixed
  • Status changed from assigned to closed

I'm going to close this out in favor of more specific tickets going forward. I have a post in the works to summarize everything that happened here so far, and what is remaining.

#143 @desrosj
3 years ago

In 50602:

Build/Test Tools: Backport GitHub Action and build improvements to the 5.6 branch.

This backports several build and test tool improvements to the 5.6 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • The ability to run PHPUnit tests from src instead of build [50441-50443].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50267,50299,50379,50387,50413,50416,50432,50435-50436,50441-50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50592,50598] to the 5.6 branch.
See #50401, #51734, #51801, #51802, #52548, #52608, #52612, #52623, #52624, #52625, #52645, #52653, #52658, #52660, #52667, #52786.

#144 @desrosj
3 years ago

In 50603:

Build/Test Tools: Backport GitHub Action and build improvements to the 5.5 branch.

This backports several build and test tool improvements to the 5.5 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • The ability to run PHPUnit tests from src instead of build [50441-50443].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50267,50299,50379,50387,50413,50416,50432,50435-50436,50441-50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50592,50598] to the 5.5 branch.
See #50401, #51734, #51801, #51802, #52548, #52608, #52612, #52623, #52624, #52625, #52645, #52653, #52658, #52660, #52667, #52786.

#145 @desrosj
3 years ago

In 50604:

Build/Test Tools: Backport GitHub Action and build improvements to the 5.4 branch.

This backports several build and test tool improvements to the 5.4 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • The ability to run PHPUnit tests from src instead of build [50441-50443].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50267,50299,50379,50387,50413,50416,50432,50435-50436,50441-50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50598] to the 5.4 branch.
See #50401, #51734, #51801, #51802, #52548, #52608, #52612, #52623, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#146 @desrosj
3 years ago

In 50605:

Build/Test Tools: Backport GitHub Action and build improvements to the 5.3 branch.

This backports several build and test tool improvements to the 5.3 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • The ability to run PHPUnit tests from src instead of build [50441-50443].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50267,50299,50379,50387,50413,50416,50432,50435-50436,50441-50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50598] to the 5.3 branch.
See #50401, #51734, #51801, #51802, #52548, #52608, #52612, #52623, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#147 @desrosj
3 years ago

In 50606:

Build/Test Tools: Backport GitHub Action and build improvements to the 5.2 branch.

This backports several build and test tool improvements to the 5.2 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • The ability to run PHPUnit tests from src instead of build [50441-50443].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50267,50299,50379,50387,50413,50416,50432,50435-50436,50441-50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50598] to the 5.2 branch.
See #50401, #51734, #51801, #51802, #52548, #52608, #52612, #52623, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#148 @desrosj
3 years ago

In 50622:

Build/Test Tools: Backport GitHub Action and build improvements to the 5.1 branch.

This backports several build and test tool improvements to the 5.1 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [45317,50267,50379,50387,50413,50416,50432,50435-50436,50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50598] to the 5.1 branch.
See #50401, #51801, #51802, #52548, #52608, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#149 @desrosj
3 years ago

In 50624:

Build/Test Tools: Backport GitHub Action and build improvements to the 5.0 branch.

This backports several build and test tool improvements to the 5.0 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [45317,50267,50379,50387,50413,50416,50432,50435-50436,50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50598] to the 5.0 branch.
See #50401, #51801, #51802, #52548, #52608, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#150 @desrosj
3 years ago

In 50625:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.9 branch.

This backports several build and test tool improvements to the 4.9 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50413,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.9 branch.
See #50401, #51801, #51802, #52548, #52608, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#151 @desrosj
3 years ago

In 50626:

Build/Test Tools: Backport GitHub Action and build improvements to the 3.7 branch.

This backports several build and test tool improvements to the 3.7 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50413,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 3.7 branch.
See #50401, #51801, #51802, #52548, #52608, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#152 @desrosj
3 years ago

In 50635:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.8 branch.

This backports several build and test tool improvements to the 4.8 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50413,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.8 branch.
See #50401, #51801, #51802, #52548, #52608, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#153 @desrosj
3 years ago

In 50636:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.7 branch.

This backports several build and test tool improvements to the 4.7 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50413,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.7 branch.
See #50401, #51801, #51802, #52548, #52608, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#154 @desrosj
3 years ago

In 50637:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.6 branch.

This backports several build and test tool improvements to the 4.6 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.6 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#155 @desrosj
3 years ago

In 50638:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.5 branch.

This backports several build and test tool improvements to the 4.5 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.5 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#156 @desrosj
3 years ago

In 50639:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.4 branch.

This backports several build and test tool improvements to the 4.4 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.4 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#157 @desrosj
3 years ago

In 50640:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.3 branch.

This backports several build and test tool improvements to the 4.3 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.3 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#158 @desrosj
3 years ago

In 50642:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.2 branch.

This backports several build and test tool improvements to the 4.2 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435,50436,50444,50446,50473,50474,50476,50479,50485,50486,50487,50545,50579,50590] to the 4.2 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#159 @desrosj
3 years ago

In 50643:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.1 branch.

This backports several build and test tool improvements to the 4.1 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435-50436,50444,50446,50473-50474,50476,50479,50485-50487,50545,50590] to the 4.1 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#160 @desrosj
3 years ago

In 50644:

Build/Test Tools: Backport GitHub Action and build improvements to the 4.0 branch.

This backports several build and test tool improvements to the 4.0 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435-50436,50444,50446,50473-50474,50476,50479,50485-50487,50545,50590] to the 4.0 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#161 @desrosj
3 years ago

In 50645:

Build/Test Tools: Backport GitHub Action and build improvements to the 3.9 branch.

This backports several build and test tool improvements to the 3.9 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435-50436,50444,50446,50473-50474,50476,50479,50485-50487,50545,50590] to the 3.9 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

#162 @desrosj
3 years ago

In 50646:

Build/Test Tools: Backport GitHub Action and build improvements to the 3.8 branch.

This backports several build and test tool improvements to the 3.8 branch. Most notably, this includes:

  • The changes required to allow each workflow to be triggered by the workflow_dispatch event so that tests can be run on a schedule [50590].
  • Splitting single site and multisite tests into parallel jobs [50379].
  • Split slow tests into separate, parallel jobs for PHP <= 5.6 [50444].
  • Better branch and path scoping for GitHub Action workflows when running on pull_request [50432,50479].
  • Several devDependency updates.

Merges [50379,50387,50416,50432,50435-50436,50444,50446,50473-50474,50476,50479,50485-50487,50545,50590] to the 3.8 branch.
See #50401, #51801, #51802, #52548, #52612, #52624, #52625, #52645, #52653, #52658, #52660, #52667.

Note: See TracTickets for help on using tickets.