Opened 4 years ago

Last modified 4 years ago

#5275 new enhancement

Smarter nightly refreshing

Reported by: desrosj's profile desrosj Owned by:
Milestone: Priority: normal
Component: General Keywords: 2nd-opinion


It's not uncommon for external repositories to configure the PHPUnit test suite for WordPress to be copied directly from trunk.

For example, the install script used in the WP-CLI scaffold command follows this approach. If trunk or nightly is specified as the version, the test suite is copied using svn co directly from trunk. However, when downloading WordPress' nightly version, the package is used instead (assuming for performance reasons).

This causes any test setup configured using the WP-CLI scaffold command to fail until the nightly is refreshed any time files are moved or added in Core that tests rely on.

There were two situations where this came up this week:

Manually refreshing the nightly fixed all issues reported by external projects.

There is an upstream issue for this on the WP-CLI Scaffold repo, but that would only apply to projects going forward, or ones that update their install script.

Is it possible to set up "smarter" nightly refreshing where the nightly package gets rebuilt automatically if files are added, moved, or the tests/phpunit/includes directory is modified? That would ensure issues are failures in external projects have the potential to fail for a much smaller window than files are shuffled around or added.

Change History (2)

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

4 years ago

#2 @joemcgill
4 years ago

This is somewhat related to #1218. If the nightly was built more frequently, this problem would generally be resolved.

However, another way to look at this issue is that many CI setups for plugins and themes consistently rely on using the test suite files from trunk to test against the latest nightly build, which is created from a different point in history than the test suite files. Could we create a build of the test suite files at the same time that the latest nightly gets generated so folks could use that in their test suites instead of the files from trunk?

Note: See TracTickets for help on using tickets.