[build] use matrix for nightly releases#17010
Conversation
User descriptionIdeally this is all one run, but for visibility and redundancy putting it in a matrix makes more sense. 💥 What does this PR do?
🔧 Implementation NotesFollows same pattern as 🔄 Types of changes
PR TypeBug fix, Enhancement Description
Diagram Walkthroughflowchart LR
prepare["Prepare Job"] --> matrix["Matrix Strategy<br/>java, python, ruby<br/>dotnet, javascript"]
matrix --> release["Nightly Release Jobs<br/>Running in Parallel"]
release --> grid["Release Grid Job<br/>Conditional on Java Assets"]
|
| Relevant files | |||
|---|---|---|---|
| Configuration changes |
|
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 refactors the nightly release workflow to use a matrix strategy for publishing language-specific releases in parallel, improving resilience and visibility when individual language releases fail.
Changes:
- Introduced matrix strategy for nightly releases with fail-fast disabled to ensure all languages are attempted independently
- Modified release-grid job to use
always()condition, ensuring Grid artifacts are published even if non-Java language releases fail - Aligned implementation with the existing release.yml workflow pattern
Ideally this is all one run, but for visibility and redundancy putting it in a matrix makes more sense.
Nightly job failed last night for a credential thing in Ruby, so not everything was properly published. This would fix that.
Easier to fix and rerun for one thing than multiple.
💥 What does this PR do?
🔧 Implementation Notes
Follows same pattern as
release.ymlpublish job.🔄 Types of changes