Skip to content

ci: defer the jwt-unsecured and jwt-rsa15 splits - #720

Merged
Spomky merged 1 commit into
4.3.xfrom
ci/defer-new-package-splits
Aug 30, 2026
Merged

ci: defer the jwt-unsecured and jwt-rsa15 splits#720
Spomky merged 1 commit into
4.3.xfrom
ci/defer-new-package-splits

Conversation

@Spomky

@Spomky Spomky commented Aug 30, 2026

Copy link
Copy Markdown
Member

Problem

web-token/jwt-library is still published at 4.2.1 on Packagist, so it keeps capping brick/math at ^0.19 for everyone, even though 4.2.2 raised it to ^0.20. The tag exists on jwt-framework, but the subtree was never split.

The gitsplit workflow 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.

WARN Splitting  reference=4.3.x  splits="[src/Unsecured]"
FATA failed to split references: ... https://github.com/web-token/jwt-unsecured.git:
     remote: Repository not found.

web-token/jwt-unsecured and web-token/jwt-rsa15 do not exist in the organisation yet.

The part that is easy to miss: the workflow runs git clone with no -b, so it checks out the default branch, currently 4.3.x, and gitsplit applies that single .gitsplit.yml to 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.yml until 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-library being 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-unsecured and web-token/jwt-rsa15 have 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.

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 Spomky added this to the 4.3.0 milestone Aug 30, 2026
@Spomky Spomky added the bug label Aug 30, 2026
@Spomky Spomky self-assigned this Aug 30, 2026
@Spomky
Spomky merged commit a862618 into 4.3.x Aug 30, 2026
16 checks passed
@Spomky
Spomky deleted the ci/defer-new-package-splits branch August 30, 2026 14:11
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant