Opened 8 months ago
Last modified 2 days ago
#63170 reopened task (blessed)
GitHub Actions updates and improvements for 6.9
| Reported by: | | Owned by: | |
|---|---|---|---|
| Milestone: | 6.9 | Priority: | normal |
| Severity: | normal | Version: | |
| Component: | Build/Test Tools | Keywords: | has-patch commit dev-feedback |
| Focuses: | Cc: |
Change History (67)
This ticket was mentioned in PR #8754 on WordPress/wordpress-develop by @desrosj.
7 months ago #1
- Keywords has-patch added
7 months ago #2
Workflows runs triggered by push events will always run twice, with debug mode enabled the second time.
But I guess one downfall is that someone outside of the organization opening a pull request will never get to see the debug info because they do not have the required access to rerun a workflow. That could make this undesirable.
I also don't feel strongly on this. It was something I considered as a potential optimization. Let's get a few other opinions.
This ticket was mentioned in PR #9010 on WordPress/wordpress-develop by @johnbillion.
5 months ago #5
This ticket was mentioned in PR #9024 on WordPress/wordpress-develop by @johnbillion.
5 months ago #10
- Clarifies the text about the last two releases
- Trims another version from the second group of upgrade tests because this should only test 6 versions as per the workflow description at the top
5 months ago #11
Originally, it was intended to test all 6.x versions, but now that there's 9 of them, I agree that it doesn't make sense.
The 5.x job below the one being edited tests uses the approach of testing all 5.x releases where the database version changed on the highest and lowest releases of each PHP major.
6.0's DB version changed from 5.9's, and every other 6.x version except 6.1, 6.2, 6.6, 6.8. We should either:
- Change the first job to test the last 3 major versions, and then test 6.0, 6.3, 6.4, and 6.5 in the second.
- Leave the first job testing the last 2 versions and test 6.0, 6.3, 6.4, 6.5 in the second one.
Both would need the inline docs to be updated accordingly matching the upgrade-tests-wp-5x-php-7x-mysql notes.
@johnbillion commented on PR #9024:
5 months ago #13
Committed in https://core.trac.wordpress.org/changeset/60340
@johnbillion commented on PR #9010:
5 months ago #14
Committed in https://core.trac.wordpress.org/changeset/60341
This ticket was mentioned in PR #9394 on WordPress/wordpress-develop by @johnbillion.
3 months ago #20
@johnbillion commented on PR #9394:
3 months ago #22
This ticket was mentioned in PR #9399 on WordPress/wordpress-develop by @desrosj.
3 months ago #23
This adds additional test combinations to the workflow that tests the build process that run on Node.js versions 22 and 24.
22.x is the Active LTS version for Node.JS and scheduled to become Maintenance LTS in October when 24.x graduates to the Active LTS. Testing against these versions will help spot any potential compatibility issues that come up and can make upgrading in the future.
This pull request tests only the Core build process with these versions. This is an alternate approach to #9395.
This results in 12 additional jobs in the test matrix. These new jobs will only run within wordpress-develp, not within forks.
Trac ticket: Core-63170.
This ticket was mentioned in PR #9395 on WordPress/wordpress-develop by @desrosj.
3 months ago #24
This adds additional test combinations to the workflow that tests the build process that run on Node.js versions 22 and 24.
22.x is the Active LTS version for Node.JS and scheduled to become Maintenance LTS in October when 24.x graduates to the Active LTS. Testing against these versions will help spot any potential compatibility issues that come up and can make upgrading in the future.
This pull request tests both the Gutenberg and Core build processes with these versions. This is an alternate approach to #9399.
This results in 24 additional jobs in the test matrix. These new jobs will only run within wordpress-develp, not within forks.
Trac ticket: Core-63170.
This ticket was mentioned in PR #9409 on WordPress/wordpress-develop by @desrosj.
3 months ago #25
While the -latest alias is no longer used in Core workflows (see Changeset-59720), GitHub has begun rolling out a change to their MacOS runner images that tags the macos-15 as macos-latest instead of macos-14.
Similarly, the windows-latest alias will be updated to point to windows-2025 in during the month of September.
This changes the workflows running on MacOS and Windows images to use the versions that will now be considered the "latest" versions.
Trac ticket: Core-63170.
This ticket was mentioned in PR #9420 on WordPress/wordpress-develop by @johnbillion.
3 months ago #26
This ticket was mentioned in PR #9422 on WordPress/wordpress-develop by @johnbillion.
3 months ago #27
@johnbillion commented on PR #9422:
3 months ago #29
This ticket was mentioned in PR #9423 on WordPress/wordpress-develop by @johnbillion.
3 months ago #30
@johnbillion commented on PR #9420:
3 months ago #32
This ticket was mentioned in PR #9424 on WordPress/wordpress-develop by @johnbillion.
3 months ago #33
This updates workflows to all use the same notation for tag version ranges. It removes the usage pattern where [0-9]+.[0-9] is allowed and subsequently partly disallowed, replacing it with the more explicit and readable notation of inclusive ranges.
This ticket was mentioned in PR #9426 on WordPress/wordpress-develop by @johnbillion.
3 months ago #34
This ticket was mentioned in PR #9427 on WordPress/wordpress-develop by @johnbillion.
3 months ago #35
@johnbillion commented on PR #9427:
3 months ago #39
@johnbillion commented on PR #9423:
3 months ago #40
@johnbillion commented on PR #9426:
3 months ago #41
This ticket was mentioned in PR #9457 on WordPress/wordpress-develop by @johnbillion.
3 months ago #42
The main aim here is to reduce the chance of unnecessary workflows running when changes are not made to src files. As an example, a change to a phpunit test file currently triggers the e2e tests, the performance tests, and the build process testing, all of which are unnecessary.
This ticket was mentioned in PR #9901 on WordPress/wordpress-develop by @desrosj.
2 months ago #45
It looks like r60612 and r60624 will need to be backported to older branches.
When working on a ticket that backported changes to older branches, I noticed that the Check Built Files workflow was failing for the 6.8 branch with the following error:
Invalid workflow file: .github/workflows/check-built-files.yml#L42 The workflow is not valid. .github/workflows/check-built-files.yml (Line: 42, Col: 3): Error calling workflow 'WordPress/wordpress-develop/.github/workflows/reusable-check-built-files.yml@trunk'. The nested job 'update-built-files' is requesting 'contents: read', but is only allowed 'contents: none'.
The same was true with the upgrade develop testing workflow:
Invalid workflow file: .github/workflows/upgrade-develop-testing.yml#L54 The workflow is not valid. .github/workflows/upgrade-develop-testing.yml (Line: 54, Col: 3): Error calling workflow 'WordPress/wordpress-develop/.github/workflows/reusable-upgrade-testing.yml@trunk'. The nested job 'upgrade-tests' is requesting 'contents: read', but is only allowed 'contents: none'.
All of the others seem to be working as expected. These two workflows were introduced during the 6.8 cycle, so thankfully this does not need to be backported further. @johnbillion I'm going to add this to the list we have started for a GitHub Actions page in the handbook.
Trac ticket: Core-63170
This ticket was mentioned in PR #9931 on WordPress/wordpress-develop by @desrosj.
2 months ago #48
This has been supported since https://github.com/WordPress/wpdev-docker-images/pull/151.
Trac ticket: Core-63170
This ticket was mentioned in PR #10165 on WordPress/wordpress-develop by @johnbillion.
6 weeks ago #51
For the 6.7 branch:
- Deletes unnecessary workflows
- Trims the unit testing matrix to the highest and lowest supported version of each major PHP branch.
This ticket was mentioned in PR #10406 on WordPress/wordpress-develop by @johnbillion.
3 weeks ago #52
GitHub recently added support for YAML anchors and aliases in workflow files. This means we can reduce duplication in the branches and paths mappings.
One thing that I think will block this being merged for now is that Actionlint is yet to support this feature. Let's test it out anyway.
This ticket was mentioned in PR #10407 on WordPress/wordpress-develop by @johnbillion.
3 weeks ago #53
Work in progress.
This swaps out db-type and db-version inputs for a more explicit db-image which contains values such as mysql:8.0 and mariadb:10.3.
The idea behind this is that we can be more explicit with version support differences between MySQL and MariaDB without having to maintain confusing inclusion and exclusion rules that are hard to read. As someone who is not overly familiar with the available versions of each of the two, I find the matrices confusing. This should help a lot.
I've started on install-testing.yml and local-docker-environment.yml too -- which both call reusable-support-json-reader-v1.yml -- but I need to think more about how these should work and whether the format of .version-support-mysql.json needs updating. My original idea is that this file would be updated to include a separate list of supported versions for MySQL and MariaDB.
This ticket was mentioned in PR #10409 on WordPress/wordpress-develop by @johnbillion.
3 weeks ago #54
@johnbillion commented on PR #10409:
3 weeks ago #56
@johnbillion commented on PR #9424:
3 weeks ago #58
This ticket was mentioned in PR #10440 on WordPress/wordpress-develop by @desrosj.
2 weeks ago #59
This adds a check to confirm a pull request is open before leaving a comment with the instructions for testing in Playground. In scenarios where a pull request is closed before the workflow runs, comments can be left on closed PRs.
Props @jeffpaul for spotting this on #10280.
Trac ticket: Core-63170.
@desrosj commented on PR #10440:
11 days ago #61
Fixed in r61135.
This ticket was mentioned in Slack in #core by wildworks. View the logs.
5 days ago
#63
@
5 days ago
- Resolution set to fixed
- Status changed from new to closed
This ticket was brought up in today's 6.9 bug scrub.
This is an iteration ticket that is added for each major release, and since the RC1 release is coming soon, I think it should be fine to close it now. If necessary, we can create a new ticket for 7.0.
This adds a conditional statement that checks for debug mode to be enabled before outputting debug information.
Trac ticket: Core-63170.