Skip to content

fix(ci): smoke test accepts release-assets.githubusercontent.com CDN#509

Merged
aaddrick merged 1 commit intomainfrom
fix/smoke-test-asset-cdn-hostname
Apr 23, 2026
Merged

fix(ci): smoke test accepts release-assets.githubusercontent.com CDN#509
aaddrick merged 1 commit intomainfrom
fix/smoke-test-asset-cdn-hostname

Conversation

@aaddrick
Copy link
Copy Markdown
Owner

Summary

v2.0.4 CI surfaced the next smoke-test mismatch — at hop 2:

Hop 2: 302 .../releases/download/v2.0.4+claude1.3883.0/...deb
       -> https://release-assets.githubusercontent.com/...
::error::Hop 2 mismatch: expected https://objects\.githubusercontent\.com/,
         got https://release-assets.githubusercontent.com/...

GitHub migrated Release assets from objects.githubusercontent.comrelease-assets.githubusercontent.com. Both have served in the past; release-assets is current. Accept either via alternation:

-"https://objects\\.githubusercontent\\.com/"
+"https://(objects|release-assets)\\.githubusercontent\\.com/"

Same fix applied to all three sites:

  • .github/workflows/ci.yml:540 (APT smoke test)
  • .github/workflows/ci.yml:754 (DNF smoke test)
  • .github/workflows/apt-repo-heartbeat.yml:94 (daily heartbeat)

Validation

Hops 0 and 1 already pass with #506's scheme fix — the v2.0.4 run log confirms. This PR completes the chain walker so v2.0.4's update-apt-repo smoke test will pass and update-dnf-repo will finally run (was skipped both on v2.0.3 and v2.0.4 due to needs: update-apt-repo).

Post-merge

Cut v2.0.5 to re-exercise the full pipeline with the fix — same as v2.0.4 flow but this time both jobs should complete cleanly and test the #500 gh release upload --clobber path for the first time.

docs/worker-apt-plan.md has historical references to objects.githubusercontent.com — a docs-only cleanup in a follow-up.

Refs #493, #503


Generated with Claude Code
Co-Authored-By: Claude Opus 4.7 [email protected]
Claude: walked through v2.0.3 → #506 → v2.0.4 → this; each iteration surfaced the next assumption in the plan that no longer matched GitHub's current behavior
Human: delegated Phase 4a-APT cutover autonomously

v2.0.4 rerun of update-apt-repo made it past hops 0 and 1 (the smoke
test scheme fix in #506 worked — Pages' http:// redirect no longer
trips the chain walker), but failed on hop 2:

  Hop 2: 302 .../releases/download/v2.0.4+claude1.3883.0/...deb
         -> https://release-assets.githubusercontent.com/...
  ::error::Hop 2 mismatch: expected https://objects\.githubusercontent\.com/,
           got https://release-assets.githubusercontent.com/...

GitHub migrated the Release asset CDN from objects.githubusercontent.com
to release-assets.githubusercontent.com (both have been serving in the
past; release-assets is the current canonical hostname). Accept either
hostname via alternation.

Verified against the actual v2.0.4 Release:
  $ curl -Is https://github.com/aaddrick/claude-desktop-debian/releases/download/v2.0.4+claude1.3883.0/claude-desktop_1.3883.0-2.0.4_amd64.deb \
    | grep -i location
  location: https://release-assets.githubusercontent.com/github-production-release-asset/...

Same fix in three sites:
- .github/workflows/ci.yml (update-apt-repo smoke test)
- .github/workflows/ci.yml (update-dnf-repo smoke test)
- .github/workflows/apt-repo-heartbeat.yml (daily heartbeat)

docs/worker-apt-plan.md has historical references to
objects.githubusercontent.com too; those can be updated in a follow-up
docs sweep — the architectural claim (binary bytes flow direct from
GitHub CDN, never through Cloudflare) is unchanged.

Refs #493, #503
@aaddrick aaddrick merged commit de19c1b into main Apr 23, 2026
9 checks passed
@aaddrick aaddrick deleted the fix/smoke-test-asset-cdn-hostname branch April 23, 2026 15:06
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