ci: migrate internal deps from Forgejo to GitHub (pinned v0.1.0) - #5
Merged
Conversation
librtbit's 11 internal crates were fetched from the decommissioned self-hosted Forgejo instance (http://100.92.54.45:3002/indexarr), which CI cannot reach ("could not read Username"), so Build & Test failed at dependency resolution. Point them at their GitHub sources pinned at tag v0.1.0. This required first re-cutting the siblings' v0.1.0 tags so their own internal deps reference the current org (TheDancingDeveloper-org) rather than the pre-transfer AusAgentSmith-org: the two URLs resolve to the same repo via redirect but are distinct Cargo source ids, which was compiling librtbit-core (and others) twice and producing Id20 type conflicts. With the tags corrected, the graph resolves a single copy of each crate and no source change is needed (v0.1.0 is a coherent reqwest-0.12 / 8-arg TrackerComms::start snapshot). Verified: cargo check --workspace and cargo fmt --check pass locally; lock churn limited to the internal-crate source URLs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
clippy 1.98 (-D warnings) flags redundant `&` in 7 bail!/format! arguments across http_api_client, filesystem storage and peer_handler. These block the required Build & Test check. main cannot be fixed independently because it does not build (Forgejo deps), so the fix rides with the GitHub migration. Mechanical: `&x` and `x` format identically. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Aug 24, 2026
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.
Fixes the root cause behind #4 and unblocks #3.
Problem
librtbit's 11 internal deps were pinned to the decommissioned Forgejo instance (
http://100.92.54.45:3002/indexarr). CI can't reach it →Build & Testfails at dependency resolution. Naively repointing to GitHubtag=v0.1.0produced a diamond dependency: the siblings' ownv0.1.0tags referenced the pre-transferAusAgentSmith-org, so Cargo built two copies oflibrtbit-core(etc.) →Id20type conflicts.What changed
v0.1.0tags (bencode, buffers, core, dht, lsd, peer-protocol, tracker-comms, upnp-serve) so their internal deps referenceTheDancingDeveloper-orginstead ofAusAgentSmith-org— same pinned trees, only the source-URL org changes. This collapses the diamond to a single copy of each crate.https://github.com/TheDancingDeveloper-org/..., keepingtag=v0.1.0. No source changes —v0.1.0is a coherent snapshot (reqwest 0.12, 8-argTrackerComms::start), so the current call sites are correct.Verification
cargo check --workspace✅ — resolves a singlelibrtbit-core, 0 Forgejo/AusAgentSmith refs.cargo fmt --all -- --check✅Cargo.lockchurn limited to the internal-crate source URLs.Note
Pre-existing
clippylints in librtbit's own source (e.g.chunk_tracker.rs,manual_checked_ops, formatting) fire under clippy 1.98 independent of this change (source is untouched here). IfBuild & Testfails on those, they're separate tech-debt, not a regression from this migration.🤖 Generated with Claude Code