ci: validate matrix patches before release (scylla-3.x)#898
Draft
nikagra wants to merge 1 commit into
Draft
Conversation
Add a 'Validate matrix patches' step between 'Prepare release' and 'Perform release' in the release workflow. After mvn release:prepare creates the tag locally (but before anything is published to Maven Central or pushed to GitHub), clone scylla-java-driver-matrix and run --patch-only mode to verify all scylla driver patches apply cleanly against the about-to-be-released source. If patches fail the release workflow aborts immediately, giving the releaser a clear signal to update the matrix patches first. Also adds a matrix-branch input (default: master) so releasers can point to a non-merged matrix branch during validation if needed. Closes: scylladb/scylla-java-driver-matrix#145
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes scylladb/scylla-java-driver-matrix#145
What
Adds a "Validate matrix patches" step to the release workflow, inserted between
Prepare release(which creates the tag locally viamvn release:prepare) andPerform release(which publishes to Maven Central).The step clones
scylla-java-driver-matrixat the specified branch and runs--patch-onlymode against the newly created local tag. If patches fail to apply, the release workflow aborts before anything is published or pushed.Why
Today, a broken or missing matrix patch is only discovered after the tag is on GitHub and the artifact is on Maven Central — too late for a clean abort. This change makes patch compatibility a hard gate before publication.
Changes
.github/workflows/release.yml:matrix-branchinput (type: string, default:master) — allows pointing to a non-merged matrix branch if patches need updating before the matrix PR mergesrelease.properties(scm.tag=X.Y.Z.W)scylladb/scylla-java-driver-matrixat the specified branchpython3 main.py . --versions {tag} --driver-type scylla --patch-onlyRelease flow with this change
Testing
Use
dry-run: true— the "Validate matrix patches" step has noifcondition so it runs in both normal and dry-run mode. This allows testing the validation without publishing or pushing anything.Dependency
Requires
scylladb/scylla-java-driver-matrix#146(--patch-onlymode) to be merged into matrixmasterbefore this workflow runs in production. During the interim, thematrix-branchinput can point to the feature branch.