build(tools): the build tools download from git-cdn.magicbean.dev, Cloudflare's edge, first #160
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!160
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/Longshot:build/tools-cdn"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Forgejo's packages are now in Cloudflare R2 and git-cdn.magicbean.dev serves them from Cloudflare's edge, so the 500+ MB of build tools a player downloads at first start can come from the edge instead of through Unraid's tunnel.
What changed
tools.lock: each tool's first URL ishttps://git-cdn.magicbean.dev/api/packages/MagicBeanDev/generic/<name>-<system>/<version>/<file>, then the same file on git.magicbean.dev, then upstream; the header says so.scripts/tools.py:CDN,store_urls();mirrorandaddwrite both first;check --requirerefuses a line whose store copy isn't preceded by its edge copy, and still checks the file through the package API.tests/test_tools_lock.py: the repository's lock has both first; a line without the edge link fails the check.docs/releases.md(shared, byte-identical with LongshotLauncher's, same PR there).Flags and settings
None
Measurements
main:
1be180bb(2026-11-13)this PR: build/tools-cdn @
b668b9371be180bbb668b937Testing
Tested:
tools.py check --requireagainst the live server;test_tools_lock,test_linux_tools,test_windows_on_linux,test_release; each new URL live (size), two downloaded whole (SHA-256).Not tested: a first start on a player's PC with the new lock (the next release carries it).
Needs other testers: None
Screenshots
Nothing on screen
Risk and rollback
If git-cdn fails, every installer falls back to the git.magicbean.dev link, then upstream; files are checked by SHA-256 either way. Reverting the commit is enough.
Checklist
For everyone
type(scope): description).main.python -I -B tests/run_all.pyrun and passing (any failure that also fails onmainis named above).third_party/untouched (a new folder with aPROVENANCE.mdinstead).