Skip to content

update: releases come from one repository; retire the former-name fallback - #1832

Merged
ZeroPoint95 merged 3 commits into
devfrom
zeropoint95/retire-legacy-release-repo
Oct 15, 2026
Merged

ZeroPoint95 merged 3 commits into
devfrom
zeropoint95/retire-legacy-release-repo

Conversation

@ZeroPoint95

@ZeroPoint95 ZeroPoint95 commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Releases now come from one repository only: the updater and the curl installer stop asking the repository's former name after a 404.

What changed

  • internal/update no longer asks the former name after a 404. A 404 from Agent-Field/codeaf is now final for:
    • picking a release (Select)
    • looking up a release's publish date (TagPublished)
    • downloading it (Install)
  • Install always downloads from Agent-Field/codeaf, even when the caller set a different repository on the release.
  • scripts/install.sh: the same fallback is removed from the release lookup and the download. Its own comment said it was meant to go after one release.
  • Kept: the former asset file name, still tried within the same release. Only v0.1.0 (the one stable from before the rename) uses it, and its checksums.txt still verifies it.
  • Why:

How it was checked

  • gh api repos/Agent-Field/<former name> and gh api repos/Agent-Field/codeaf return the same repository id.
  • Every stable and rc release is in Agent-Field/codeaf. Only v0.1.0 and the old build-* tags use the former asset name.
  • go test ./internal/update/: ok (11.2s). New tests:
    • TestANotFoundFromTheReleaseRepositoryIsTheAnswer: a 404 fails Select, TagPublished and Install, and no request goes to any other repository.
    • TestTheFormerAssetNameStillInstallsTheOneOldRelease: v0.1.0 installs under its former asset name from the same repository.
  • go test ./internal/release/ (the shell installer):
    • TestInstallerAsksOnlyTheReleaseRepository: the fake also answers under the former name, yet the install fails and nothing is asked there.
    • TestPinnedFormerReleaseTakesItsFormerAssetFromTheReleaseRepository.
    • Every other test passes too, except TestTheReleaseSurfaceTestSurvivesEveryLedgerState. It fails with test_args[@]: unbound variable under macOS's bash 3.2, and fails the same way on origin/dev 1acf751.
  • make test-quick: passes.
  • make test-touched: exit 0. internal/update passes; the one internal/release failure is reported as "already failing on the base".

Checklist

🤖 Generated with Claude Code

ZeroPoint95 and others added 3 commits October 14, 2026 16:27
…lback

- The updater (Select, TagPublished, Install) and scripts/install.sh no
  longer ask the repository's former name after a 404 from the release
  repository. That name is only GitHub's redirect to the same repository
  (same repository id), so it never held a release the real one lacks;
  asking it could only ever reach a repository created under that name
  later.
- Install always downloads from the release repository, whatever
  repository a caller wrote on the release.
- The former asset name is still tried inside the same release, for
  v0.1.0, the one stable published before the rename.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Drop the stale H10 comment that described the old fallback above the
  helper that now forbids it.
- selectRelease reads the release repository itself and assetURL builds
  every download address from the constant, so no Release field is
  ever an address.
- The fake servers' request lists in the new update tests are kept
  under a lock.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ZeroPoint95
ZeroPoint95 marked this pull request as ready for review October 14, 2026 20:58
@ZeroPoint95
ZeroPoint95 merged commit 01adb90 into dev Oct 15, 2026
6 checks passed
@ZeroPoint95
ZeroPoint95 deleted the zeropoint95/retire-legacy-release-repo branch October 15, 2026 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant