Pinned matching edition branches in package-exclusion logic - #144
Pinned matching edition branches in package-exclusion logic#144alongosz wants to merge 2 commits into
Conversation
The edition-exclusion logic (introduced in #55/#56 for IBX-3786) fetches higher editions' composer.json to build the updates.ibexa.co exclude list. The maintained scripts (4.6, 5.0, 6.0) fetched the "master" branch, which was correct in 2022 but the editions' dev branches have since been renamed to version numbers. The URLs kept working only through GitHub's branch-rename redirect, now serving 6.0 content to every version line. This already skews older lines (e.g. commerce 6.0 lists discounts/discounts-codes in the metapackage while 4.6 does not) and breaks entirely if a "master" branch is ever recreated. Pinned each maintained script to its matching edition branch, consistent with the ^3.3 and 4.2 scripts. All pinned URLs verified to return 200 for commerce and experience (the only fetch targets). Scripts for unmaintained lines (4.3-4.5) are left untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Looking at #56 (comment). and the unified branching we have right now, maybe this could be simplified to use the target branch name of the PR. Clearly I didn't remember about this when adding the stable branches 😄 |
Addresses review feedback: with unified branching, the edition branch always equals the script's version line, and PROJECT_VERSION is guaranteed to match the script's directory name (the same value selects the script path in every caller). Stable releases (vX.Y.Z) are routed to bin/stable, which has no exclusion logic, and regression tmp branches never modify composer.json or workflows, so the branch-alias fallback stays clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
@mnocon |



Related PRs:
Description:
The edition package-exclusion logic in
prepare_project_edition.sh(introduced in #55 / #56 for IBX-3786) fetches the composer.json of higher editions to build theupdates.ibexa.coexclude list, simulating customer license entitlements in CI.The scripts fetched the
masterbranch of the edition repos:masterbranch exists inibexa/commerce,ibexa/experience, oribexa/headlessanymore).6.0listsibexa/discountsandibexa/discounts-codesin the metapackage, while4.6does not.This PR makes the maintained scripts (
4.6.x-dev,5.0.x-dev,6.0.x-dev) fetch the edition branch matching their version line, derived fromPROJECT_VERSION.For QA:
Review the changes.
Regression run result: 🟢 ibexa/experience run 33064896823 - list is correctly attached when ran against the changes from this branch.
Previously it attached 5.0/6.0 packages which were not part of 4.6 core Product, see ibexa/experience/ run 33037261410
🤖 Generated with Claude Code