#58867 closed task (blessed) (fixed)
GitHub Actions updates and improvements for 6.4
| Reported by: | | Owned by: | |
|---|---|---|---|
| Milestone: | 6.4 | Priority: | normal |
| Severity: | normal | Version: | |
| Component: | Build/Test Tools | Keywords: | |
| Focuses: | Cc: |
Change History (38)
#3
@desrosj
2 years ago
In 56404:
Build/Test Tools: Don’t send a Slack notice when a workflow fails once.
[53947] introduced a callable workflow that allowed a workflow run to be retried automatic. By default all workflows are retried once.
Since a run is not considered “failed” until after the automatic retry, the first Slack message is unnecessary and can cause a lot of noise when there are network hiccups.
This alters the logic to skip a failure notice in Slack until the second failure.
See #58867.
#7
@desrosj
2 years ago
In 56464:
Build/Test Tools: Ensure database containers are prepared for commands.
By default, Docker waits for a container to be started before considering it “ready”. But this does not necessarily mean that it’s ready to receive commands.
This adds a check that ensures the database container is ready to receive commands before proceeding with running commands.
#8
@desrosj
2 years ago
I missed this in the commit, but hat tip to @johnbillion for sharing his implementation for inspiration.
#9
@desrosj
2 years ago
In 56537:
Build/Test Tools: Update 3rd-party GitHub Actions.
This updates all 3rd-party GitHub actions to their latest versions. The following actions were updated:
actions/cacheactions/checkoutactions/setup-nodecodecov/codecov-actionshivammathur/setup-phpslackapi/slack-github-action
In the latest version of actions/checkout (4.0.0), a new input was introduced to control the output of command progress. This change uses this new show-progress input to turn off displaying progress by default. Progress will be shown when a workflow is run with debug mode enabled, just in case it contains helpful information.
Props johnbillion, desrosj.
See #58867.
#11
@desrosj
2 years ago
In 56660:
Build/Test Tools: Simplify some logic in GitHub Action workflows.
This simplifies the logic within the slack-notifications and failed-workflow steps in GitHub Action workflows to use the contains() function and object filtering.
This makes it simpler to perform the needed checks by removing the need to list out every single dependent job defined in needs.
See #58867.
#12
@desrosj
2 years ago
In 56780:
Build/Test Tools: Don’t send a Slack notice for a workflow’s first failure.
After [53947], all workflows will automatically be restarted once in an attempt to rule out reasons for failures, such as timeouts or network hiccups.
Second attempt at [56404], which was previously reverted in [56407].
See #58867.
#13
@desrosj
2 years ago
In 56827:
Build/Test Tools: Don’t send Slack notification for workflow retries.
[56780] changed Slack failure notifications to not send a failure notification during the first run of a workflow. Because workflows automatically restart once, a failure during the first run can be ignored.
This adjusts the workflow to also not send a “fixed” notification when the second run of a workflow succeeds after a failure. Because the original failure is no longer reported, these notifications are unnecessary.
See #58867.
#14
@desrosj
2 years ago
In 56829:
Build/Test Tools: Increase the number of retries when restarting a workflow.
This increases the number of times to retry restarting a workflow from 2 to 10. Retries use exponential backoff to space out retries.
In most cases, only 2 retries was sufficient. However, there are occasionally scenarios where the original workflow is still running and cannot be restarted, resulting in an error. This typically happens during periods of ongoing service degradation, or workflows with a significant number of jobs (GitHub Actions is sometimes very slow to mark these as finished).
See #58867.
#16
@desrosj
2 years ago
In 56955:
Build/Test Tools: Add environment variable for current release.
This adds a global environment variable to the Test old branches workflow to make the supported version more clear and easier to update in the future. This will also make it easier to reference in more places as this workflow grows.
See #58867.
#17
@swissspidy
2 years ago
[56972] references this ticket.
#18
@hellofromTonya
2 years ago
Would be good to backport [56972] to the 6.4 branch.
#19
@swissspidy
2 years ago
@hellofromTonya Not necessary, because branching only happens from trunk, e.g. from trunk -> 6.5
#20
@desrosj
2 years ago
In 57000:
Build/Test Tools: Simplify some logic in GitHub Action workflows.
This simplifies the logic within the slack-notifications and failed-workflow steps in GitHub Action workflows to use the contains() function and object filtering.
This makes it simpler to perform the needed checks by removing the need to list out every single dependent job defined in needs.
#21
@desrosj
2 years ago
In 57052:
Build/Test Tools: Increase the number of retries when restarting a workflow.
This increases the number of times to retry restarting a workflow from 10 to 15, and the timeout-minutes value to 30.
For workflows with complex strategy matrix, the exponential backoff of 10 retries is still not enough to account for the GitHub Actions UI taking a long time to catch up.
#22
@jorbin
2 years ago
- Resolution set to fixed
- Status changed from new to closed
Closing in favor of #59805 for 6.5.
#24
@desrosj
17 months ago
In 58605:
Build/Test Tools: Make use of new reusable workflows for 5.6.
This updates the 5.6 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Run E2E tests with and without SCRIPT_DEBUG (#58661).
- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Cache the results of
PHP_CodeSnifferruns (#49783). - Move the Memcached container into the Docker Compose config (#55700).
- Configure Xdebug modes in the local Docker environment (#56022).
- Improvements to the
healthcheckcommand for themysqlcontainer (#58867). - A fix to
grunt cleanto preventscript-loader-packages.phpfrom being deleted (#53606).
Merges [51355], [51673], [52179], [53552], [53895], [56113], [56114], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.6 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #56022, #59416, #59805, #61213, #58661, #53606.
#25
@desrosj
17 months ago
In 58610:
Build/Test Tools: Make use of new reusable workflows for 5.5.
This updates the 5.5 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Cache the results of
PHP_CodeSnifferruns (#49783). - Move the Memcached container into the Docker Compose config (#55700).
- Improvements to the
healthcheckcommand for themysqlcontainer (#58867). - A fix to
grunt cleanto preventscript-loader-packages.phpfrom being deleted (#53606). - Skip some tests when not in the primary branch (#50401).
Merges [49264], [51355], [51673], [52179], [53552], [53895], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.5 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213, #53606.
#26
@desrosj
17 months ago
In 58611:
Build/Test Tools: Make use of new reusable workflows for 5.4.
This updates the 5.4 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Cache the results of
PHP_CodeSnifferruns (#49783). - Move the Memcached container into the Docker Compose config (#55700).
- Improvements to the
healthcheckcommand for themysqlcontainer (#58867). - Skip some tests when not in the primary branch (#50401).
Merges [49264], [51673], [52179], [53552], [53895], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.4 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#27
@desrosj
17 months ago
In 58624:
Build/Test Tools: Make use of new reusable workflows for 5.3.
This updates the 5.3 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Cache the results of
PHP_CodeSnifferruns (#49783). - Move the Memcached container into the Docker Compose config (#55700).
- Improvements to the
healthcheckcommand for themysqlcontainer (#58867). - Skip some tests when not in the primary branch (#50401).
Merges [49264], [51673], [52179], [53552], [53895], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.3 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#28
@desrosj
17 months ago
In 58625:
Build/Test Tools: Make use of new reusable workflows for 5.2.
This updates the 5.2 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Cache the results of
PHP_CodeSnifferruns (#49783). - Move the Memcached container into the Docker Compose config (#55700).
- Improvements to the
healthcheckcommand for themysqlcontainer (#58867). - Skip some tests when not in the primary branch (#50401).
Merges [49264], [51673], [52179], [53552], [53895], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.2 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#29
@desrosj
17 months ago
In 58628:
Build/Test Tools: Make use of new reusable workflows for 5.0.
This updates the 5.0 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Cache the results of
PHP_CodeSnifferruns (#49783). - Move the Memcached container into the Docker Compose config (#55700).
- Improvements to the
healthcheckcommand for themysqlcontainer (#58867). - Skip some tests when not in the primary branch (#50401).
Merges [49264], [51673], [52179], [53552], [53895], [56464], [57918], [58157], [57124], [57125], [57249] to the 5.0 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #49783, #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#30
@desrosj
17 months ago
In 58636:
Build/Test Tools: Make use of new reusable workflows for 4.9.
This updates the 4.9 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.9 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#31
@desrosj
17 months ago
In 58637:
Build/Test Tools: Make use of new reusable workflows for 4.8.
This updates the 4.8 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.8 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#32
@desrosj
17 months ago
In 58638:
Build/Test Tools: Make use of new reusable workflows for 4.7.
This updates the 4.7 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.7 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#33
@desrosj
17 months ago
In 58639:
Build/Test Tools: Make use of new reusable workflows for 4.6.
This updates the 4.6 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.6 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#34
@desrosj
17 months ago
In 58640:
Build/Test Tools: Make use of new reusable workflows for 4.5.
This updates the 4.5 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.5 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#35
@desrosj
17 months ago
In 58641:
Build/Test Tools: Make use of new reusable workflows for 4.4.
This updates the 4.4 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.4 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#36
@desrosj
17 months ago
In 58642:
Build/Test Tools: Make use of new reusable workflows for 4.3.
This updates the 4.3 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.3 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#37
@desrosj
17 months ago
In 58643:
Build/Test Tools: Make use of new reusable workflows for 4.2.
This updates the 4.2 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.2 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
#38
@desrosj
17 months ago
In 58644:
Build/Test Tools: Make use of new reusable workflows for 4.1.
This updates the 4.1 branch to utilize the new reusable workflows in trunk introduced in [58165].
This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:
- The image and platform properties for the mysql container have been updated to always prefer
amd64containers (#60822). macos-13is now pinned for MacOS jobs instead ofmacos-latest(#61340).- Migrating to Docker Compose V2 (#60901).
- Removing the version property from docker-compose.yml (#59416).
- Improvements to how artifacts and comments for Playground testing are generated.
- Removing SVN related commands causing failures (#61216).
- Updating the
actions/github-scriptsaction to the latest version. - Improvements to the
healthcheckcommand for themysqlcontainer (#58867).
Merges [51673], [53552], [56464], [57918], [58157], [57124], [57125], [57249] to the 4.1 branch.
Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen, jrf.
See #58867, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213.
In 56388: