Skip to content

Commit eb90be3

Browse files
authored
fix(ci): smoke test accepts http:// on Pages 301 hop (#506)
* fix(ci): smoke test allows http:// on Pages 301 hop Phase 4a-APT's first rerun of update-apt-repo succeeded all the way through strip + push (v2.0.3 metadata is live on gh-pages now), but the smoke test failed at hop 0: Hop 0: 301 https://aaddrick.github.io/.../*.deb -> http://pkg.claude-desktop-debian.dev/.../*.deb Hop 0 mismatch: expected https://pkg..., got http://pkg... Pages emits http:// in the Location header because https_enforced is unsettable on the repo's Pages config: DNS for pkg.<domain> points at Cloudflare (Worker custom_domain), so Pages can never pass domain verification to provision its own cert. Cloudflare serves both schemes for pkg.<domain>, so the http vs https in Pages' redirect is cosmetic — the chain still terminates correctly. Relax hop 0's regex in both smoke tests (update-apt-repo, update-dnf-repo) and the heartbeat workflow to accept https?://. Later hops stay https-only since GitHub's Release-asset redirects are always HTTPS. Failure was the tail-end of run 24836419696's rerun: https://github.com/aaddrick/claude-desktop-debian/actions/runs/24836419696 Refs #493, #503 * chore: retrigger CI (previous trigger lost to GH flake)
1 parent 09d5f4a commit eb90be3

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

.github/workflows/apt-repo-heartbeat.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,11 @@ jobs:
8585
sleep 10
8686
done
8787
88-
# Walk redirect chain hop-by-hop, asserting each hop's pattern in order
88+
# Walk redirect chain hop-by-hop, asserting each hop's pattern
89+
# in order. Hop 0 may be http:// (see ci.yml smoke-test comment
90+
# for the Pages https_enforced=false background).
8991
expected_hops=(
90-
"https://${WORKER_DOMAIN}/"
92+
"https?://${WORKER_DOMAIN}/"
9193
"https://github\\.com/aaddrick/claude-desktop-debian/releases/download/"
9294
"https://objects\\.githubusercontent\\.com/"
9395
)

.github/workflows/ci.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -529,8 +529,13 @@ jobs:
529529
done
530530
531531
# Walk redirect chain hop-by-hop
532+
# Hop 0 is Pages' auto-301 from github.io to pkg.<domain>.
533+
# Pages emits http:// in the Location because https_enforced
534+
# can't be set (DNS points at Cloudflare, not Pages, so Pages
535+
# can't provision its own cert). Cloudflare/Worker answers
536+
# both schemes, so http vs https is cosmetic here.
532537
expected_hops=(
533-
"https://${WORKER_DOMAIN}/"
538+
"https?://${WORKER_DOMAIN}/"
534539
"https://github\\.com/aaddrick/claude-desktop-debian/releases/download/v${repoVer}\\+claude${claudeVer}/"
535540
"https://objects\\.githubusercontent\\.com/"
536541
)
@@ -738,8 +743,13 @@ jobs:
738743
sleep 10
739744
done
740745
746+
# Hop 0 is Pages' auto-301 from github.io to pkg.<domain>.
747+
# Pages emits http:// in the Location because https_enforced
748+
# can't be set (DNS points at Cloudflare, not Pages, so Pages
749+
# can't provision its own cert). Cloudflare/Worker answers
750+
# both schemes, so http vs https is cosmetic here.
741751
expected_hops=(
742-
"https://${WORKER_DOMAIN}/"
752+
"https?://${WORKER_DOMAIN}/"
743753
"https://github\\.com/aaddrick/claude-desktop-debian/releases/download/v${repoVer}\\+claude${claudeVer}/"
744754
"https://objects\\.githubusercontent\\.com/"
745755
)

0 commit comments

Comments
 (0)