[wp-trac] [WordPress Trac] #58977: Consider adopting workflows for testing build packages
WordPress Trac
noreply at wordpress.org
Fri Sep 22 15:34:01 UTC 2023
#58977: Consider adopting workflows for testing build packages
------------------------------+-----------------------
Reporter: costdev | Owner: costdev
Type: enhancement | Status: assigned
Priority: normal | Milestone: 6.4
Component: Build/Test Tools | Version:
Severity: normal | Resolution:
Keywords: has-patch commit | Focuses:
------------------------------+-----------------------
Changes (by desrosj):
* keywords: needs-patch => has-patch commit
Comment:
I've been working with @costdev quite a bit over on the
[https://github.com/WordPress/wordpress-upgrade-tester/ WordPress
/wordpress-upgrade-tester repository] where we moved his POC.
I think this is in a great state. It currently:
- Tests updating all branches of WordPress that receive security updates
to the version being tested.
- Tests updating with all currently supported PHP versions (where
possible).
- Tests updating with all currently supported MySQL versions.
Let's get this in to see how it goes throughout the 6.4 beta/RC period
leading up to final release.
For now, it will only run if manually triggered. I've checked that this is
possible (and it is), but in the future when the WP.org server creates the
release package for a specific version, it should make a request to GitHub
with the version number being packaged to trigger this workflow
automatically.
Here's a list of remaining tasks that are not blockers, but need to be
explored further (not necessarily in this ticket):
- Perform some actual test assertions. Currently, the workflow only checks
that WP-CLI does not encounter a failure when attempting to update. It
would be good to also have some tests that perform some basic tasks to
confirm things look good and actually work.
- When testing minor releases for older versions, we should only test up
to that version. For example, if 5.0.10 is being released, we shouldn't
test updating 5.1.x to 5.0.10. Only WP versions lower than the current
version should be tested.
- When testing minor releases for older versions, we should test the
versions of PHP that were supported for that version. For example, if
we're releasing a [https://make.wordpress.org/core/handbook/references
/php-compatibility-and-wordpress-versions/ 4.9 minor version, we should
test PHP 5.2-5.6, and 7.0-7.2]. This also applies for database versions.
- Ideally, the workflow should also perform MariaDB testing. After
[56439], MariaDB is tested by default for all commits.
One last call out is that the workflow takes a bit of time to report
success. However, the jobs in the workflow itself run surprisingly fast.
The time that it actually takes to run all of the associated jobs can be
calculated by monitoring the GitHub Action Runner administration page when
the workflow starts. The jobs are all completed within 5-8 minutes, but
the delay seems to be with the product UI receiving and displaying job
details from the 650+ runners, and takes double to triple that amount of
time.
During the release process, this could be a pain, but that usually takes
around that same amount of time. But this workflow is not meant to replace
manual testing, but rather serve as an additional sanity check to catch
some additional potential issues. I've reached out to GitHub about this,
and we can continue to explore ways to speed this up, but I think it will
need to be fixed on their end.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/58977#comment:10>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list