Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Github-Actions-Workflows][Plugin-Release] Allow shipping a point-rel…
…ease for an older stable release (#49082) * Allow point-releases for release branches that are not the latest anymore And other minor improvements * Revert debug changes Revert changes I made in order to test end-to-end from a test fork. * Limit runs to `release/` branches Co-authored-by: Bernie Reiter <ockham@raz.or.at> * Fix changelog directory interpolation Co-authored-by: Bernie Reiter <ockham@raz.or.at> * Re-add debug changes for further testing * Create only the tag when releasing an older point release, do not create a branch anymore * Implement guard against accidental trunk release of older point releases This refactors the upload zip workflow and add some version arithmetic to make sure the right version is uploaded depending: - what is the current version set as latest -- this signals that a trunk release could be imminent, but is not enough to define it - what is the current version in the WP core repo (real latest released version) -- this is compared with the published version and if it's greater than this version + the version was set as latest in GH, then it is a trunk release - If the conditions above are false, then it's a tag release. See the source for more details. * Attempt to fix "fetch" already defined error when running the script in the GH actions env * Simplify by not using node-fetch, or it will require installing the npm * GH requires an user-agent * Improve var name and comments * Define func to set the output of the "compute-should-update-trunk" job and improve its name * The core object should already be available as part of the github-scripts package * Rely only in the github ref from the published release and not the latest tag, restructure the workflow to make it easier to debug and simplify it by using shell commands/script instead of JS * Simplify further by moving the fetch core repo job to a step inside compute_should_update_trunk * Fix/improve step/job ids * Fix typo * Formatting fixes Auto-format with the RedHat YAML extension in vscode. * Add missing outputs and a couple of other fixes * A couple more fixes and a simplification of the compute_latest_version step * Mock the build of the gutenberg.zip for debugging purposes, this commit should be reverted before merging! * Fix a couple of step names * Re-add prelease attribute, was accidentally commented out * Debug commit, please revert: mock the version number in the version repo * Fix changelog fetching when uploading the SVN tag * Mock SVN version to 16.1.0 * Make the svn commit command verbose in order to debug network timeout issues while testing * Revert "Make the svn commit command verbose in order to debug network timeout issues while testing" This reverts commit da46aba. * Optimize SVN tag addition in GitHub workflow This commit significantly optimizes the process of adding a new tag to the SVN repository in our GitHub Workflow. Previously, our process involved checking out the entire tags directory from the SVN repository, which led to increased execution time and failure points when the tags directory was filled with numerous versions. We've resolved this issue by leveraging the svn import command, which allows us to directly add a new directory to the tags directory without checking out the existing directories first. This results in faster and more reliable workflow execution, particularly when dealing with repositories that have accumulated many tagged versions. The changes made include: Removing the step to checkout Gutenberg tags from the WP.org plugin repository. Adding a new step that uses the svn import command to directly add a new version directory to the SVN repository. This is achieved without the need to checkout all existing directories under tags/. Removing the step to checkout the new Gutenberg tag as it's not needed anymore. * Enhance safety checks in workflow to skip upload jobs for RC builds This commit enhances the conditional checks within the 'upload' and 'upload-tag' jobs in our GitHub Actions workflows. Previously, the jobs were executed based solely on the 'prerelease' flag of the release. However, there could be situations where this flag is accidentally set to 'false' for a Release Candidate (RC). To avoid such mishaps, the conditions have been extended to check for the '-rc' suffix in the version string as well. This ensures that even if the 'prerelease' flag is incorrectly marked as 'false', the 'upload' and 'upload-tag' jobs are still skipped for RCs, thus preventing any unintended release of RC builds. * Revert "Enhance safety checks in workflow to skip upload jobs for RC builds" This reverts commit eae536a. * Skip upload jobs if release is an RC by checking the ref for a rc suffix This makes sure we don't upload RCs as trunk or tag even if the deployer accidentally unchecks the "Set as prerelease" flag. * Revert build plugin mocking logic Effectively reverts changes in 014e2c6. * Revert initial dev/debug changes Reverts changes from 489aa70. If further testing is needed, revert the changes here again. * Revert WP SVN repo version mock Revert changes from fe8b33c. * Add back if conditions that were accidentally removed Removed in 014e2c6. I accidentally removed it instead of commenting out, so I forgot to reactivate it. The problem was that due to the amount of changes later, I couldn't just revert this commit. --------- Co-authored-by: Bernie Reiter <ockham@raz.or.at>
- Loading branch information
68fa80a
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Flaky tests detected in 68fa80a.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.
🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/5467583352
📝 Reported issues:
specs/editor/plugins/block-variations.test.js