ci: defer the jwt-unsecured and jwt-rsa15 splits - #720
Merged
Conversation
gitsplit reads a single .gitsplit.yml, the one on the default branch, and applies it to every reference it processes. The two repositories added for the 4.3 packages do not exist yet, so the run dies on the first of them and never reaches the 4.2.x branch nor its tags. The two entries are removed until the repositories are created. Nothing is lost in the meantime: 4.3.0 is unreleased, so those packages have no consumer yet, while jwt-library is stuck on 4.2.1 for everyone.
Spomky
added a commit
that referenced
this pull request
Aug 30, 2026
The two target repositories now exist in the organisation, so the splits deferred in #720 can be declared again. gitsplit only ever failed on the missing remotes: a prefix absent from a reference is skipped without an error, as src/Experimental already is on the 3.1.x tags.
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.
Problem
web-token/jwt-libraryis still published at 4.2.1 on Packagist, so it keeps cappingbrick/mathat^0.19for everyone, even though 4.2.2 raised it to^0.20. The tag exists on jwt-framework, but the subtree was never split.The
gitsplitworkflow has been failing since 2026-08-29 19:33, right after "feat(algorithms): ship none and RSA1_5 in their own packages" (#714) was merged. The last green run is from 18:59 the same day.web-token/jwt-unsecuredandweb-token/jwt-rsa15do not exist in the organisation yet.The part that is easy to miss: the workflow runs
git clonewith no-b, so it checks out the default branch, currently 4.3.x, andgitsplitapplies that single.gitsplit.ymlto every reference it walks. The config on 4.2.x is correct and lists only the three historical splits, but it is never read. So 4.3.x's two missing remotes abort the whole run before it ever reaches the 4.2.x branch or the 4.2.2 tag.Change
The two entries are removed from
.gitsplit.ymluntil the repositories exist. The split then completes again and catches up on every pending reference, including the 4.2.2 tag.Nothing is lost in the meantime: 4.3.0 is not released, so the two new packages have no consumer, while
jwt-librarybeing frozen at 4.2.1 affects every downstream project today.When to revert
Re-add both entries as part of preparing the 4.3.0 release, once
web-token/jwt-unsecuredandweb-token/jwt-rsa15have been created in the organisation and registered on Packagist. Adding a split whose target repository does not exist breaks the publication of every other package, so the repository must come first.