T8943: scripts/package-build: migrate broken commit_id refs after 1c rename - #1205
Conversation
…rename PR #1204 ("ci: T8943: migrate branch-name refs current->rolling (rollout 1c)") covered .github/workflows/ only and missed seven commit_id values in scripts/package-build/ that referenced the pre-1c default-branch names of vyos-owned repos. The GitHub branch-rename redirect works for the REST API and web UI, not for git refs in a fresh clone — scripts/package-build/build.py clones the upstream and `git checkout <commit_id>`, which fails after the source repo was renamed. Updated: libnss-mapuser/package.toml current -> rolling libpam-radius-auth/package.toml current -> rolling vpp/package.toml (vyos-vpp-patches) current -> rolling vyos-1x/package.toml current -> rolling tacacs/package.toml (libtacplus-map) master -> rolling tacacs/package.toml (libpam-tacplus) master -> rolling tacacs/package.toml (libnss-tacplus) master -> rolling Verified post-rename defaults via `gh api repos/vyos/<r> --jq .default_branch` for all seven; verified the failure mode via a fresh `git clone https://github.com/vyos/vyos-1x.git` + `git checkout current` which errors with "pathspec 'current' did not match any file(s) known to git". LTS branches (sagitta/circinus/equuleus) were scanned and require no changes — only third-party `evgeny-gridasov/openvpn-otp` master appears there, unaffected by 1c. 🤖 Generated by [robots](https://vyos.io)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🧰 Additional context used🔍 Remote MCPI'll search for additional context about the 1c rollout and branch rename mentioned in this PR, which will help understand the scope and reasoning behind these changes.Based on my search results, I've found relevant context about the VyOS build system and the branch naming convention that's critical to understanding this PR. Let me search for more specific information about the 1c rollout and default branch changes.Based on my search results, I now have sufficient context to provide a comprehensive summary. Let me compile the findings. Additional Context FoundBuild System Architecture & commit_id HandlingThe Critical Issue with GitHub Branch RenamesThe PR addresses a real problem: The default branch in VyOS repositories is called "current", and all new code goes to the current branch. However, the search results show that VyOS has references to both the "current" branch in Docker images and build documentation, indicating that the migration from "current" to "rolling" as a default branch name is in progress. The issue described in the PR is technically valid: when Test Plan ValidationThe build process applies patches, executes pre-build hooks, builds packages using specified commands, and generates Debian packages, making the PR's test plan of running Scope ConsiderationsThe PR notes that LTS branches (sagitta/circinus/equuleus) require no changes and that third-party or SHA/tag-pinned references are out of scope—this is consistent with the fact that LTS releases have their own branches named after constellations, and only vyos-owned repositories with dynamic default branch references needed updating. 🔇 Additional comments (6)
📝 WalkthroughSummary by CodeRabbit
WalkthroughFive package manifest files in ChangesPackage build commit ID updates
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
c-po
left a comment
There was a problem hiding this comment.
Default branch rename. All checked!
hedrok
left a comment
There was a problem hiding this comment.
Approve: changed all current and master commit_id in all packages that have such branches to rolling according to renaming of branches in repos.
Summary
T8943 Rollout 1c renamed the default branch of seven
vyos-owned repos thatscripts/package-build/clones, but #1204 only swept.github/workflows/. Sevencommit_idvalues inscripts/package-build/*/package.tomlwere missed and now breakbuild.py.Why this breaks builds
build.py(line 90-92) runs:GitHub's branch-rename redirect works for the REST API and the web UI, not for git refs in a fresh clone. After the 1c rename,
git checkout current(ormaster) errors withpathspec ... did not match any file(s) known to git.Empirically verified:
Changes
Seven
commit_idvalues in five files, all pointing tovyos-owned repos whose default branch was renamedcurrent/master→rollingin 1c:libnss-mapuser/package.tomlvyos/libnss-mapusercurrentrollinglibpam-radius-auth/package.tomlvyos/libpam-radius-authcurrentrollingvpp/package.tomlvyos/vyos-vpp-patchescurrentrollingvyos-1x/package.tomlvyos/vyos-1xcurrentrollingtacacs/package.tomlvyos/libtacplus-mapmasterrollingtacacs/package.tomlvyos/libpam-tacplusmasterrollingtacacs/package.tomlvyos/libnss-tacplusmasterrollingPost-rename default branches verified via
gh api repos/vyos/<r> --jq .default_branchfor all seven.Out of scope
sagitta/circinus/equuleus): scanned, novyos-ownedcommit_id="current"/"master"refs found. Only third-partyevgeny-gridasov/openvpn-otpmasteron circinus, unaffected by 1c.debian/*refs: independent of 1c renames.stable/2510on upstreamFDio/vppinvpp/package.toml: third-party, unaffected.Test plan
scripts/package-build/build.py vyos-1xsucceeds (clone + checkoutrolling).scripts/package-build/build.py libnss-mapusersucceeds.scripts/package-build/build.py libpam-radius-authsucceeds.scripts/package-build/build.py vppsucceeds.scripts/package-build/build.py tacacssucceeds (all 3 sub-packages clone + checkoutrolling).Backport
Advances: T8943
🤖 Generated by robots