[build] Release workflow improvements#16947
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||
There was a problem hiding this comment.
Pull request overview
This PR improves the release workflow by replacing manual approval with a reusable workflow, enhancing failure notifications, and automating post-release tasks. The changes streamline the release process while ensuring proper sequencing and better visibility into release status.
Changes:
- Replaced manual approval job with reusable
get-approvalworkflow for consistency - Enhanced nightly cleanup to delete both GitHub release and tag instead of just the tag
- Added automatic nightly build and mirror update after release completion
- Improved failure notification formatting with bullet points and added status for new jobs
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/release.yml |
Refactored release workflow to use reusable approval workflow, enhanced nightly cleanup, restructured job dependencies to allow docs and version updates to run in parallel, and added automated nightly and mirror jobs post-release |
.github/workflows/mirror-selenium-releases.yml |
Enabled workflow to be called as a reusable workflow by adding workflow_call trigger |
b05914a to
2e989bb
Compare
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||
… a different branch
2e989bb to
9280168
Compare
User description
🔗 Related Issues
#16946 should be merged first💥 What does this PR do?
🔧 Implementation Notes
Uses the
get-approval.ymlworkflow created for pre-release PR.💡 Additional Considerations
I'd like to make this so we aren't building and releasing in separate jobs, but this works
🔄 Types of changes
PR Type
Enhancement, Bug fix
Description
Replace manual approval job with reusable
get-approvalworkflowDelete nightly GitHub release alongside tag during release process
Add authentication token to checkout step for secure operations
Improve Slack failure notification formatting with bullet points
Run nightly and mirror workflows after successful release completion
Decouple docs update from publish job, allow version update before docs
Remove unnecessary approval wait on release build failure
Diagram Walkthrough
File Walkthrough
mirror-selenium-releases.yml
Enable mirror workflow as reusable workflow.github/workflows/mirror-selenium-releases.yml
workflow_calltrigger to enable reuse as called workflowrelease.yml
Refactor release workflow with approval reuse and post-releaseautomation.github/workflows/release.yml
SELENIUM_CI_TOKENto checkout step for authenticated operationsget-approvalreusable workflowgh release deletecommand alongside tagdeletion
publish
always()condition from unrestrict-trunk jobupdates
nightly/mirror status
mirror jobs