The Smoke test public installer job (in both release.yml and release-please.yml) curls https://meshd.sh/install and fails with curl: (22) ... error: 403.
Root cause
meshd.sh is behind Cloudflare bot protection that returns 403 to datacenter IPs (GitHub Actions runners), independent of User-Agent — the same URL returns 200 from a residential IP. So the smoke test can never reach the public edge from CI, and a UA tweak/retry won't help. Meanwhile the release binaries and the installer itself are fine (install.sh downloads binaries from github.com/.../releases/download, which CI can reach).
Example failure: run 29105912234 (v0.17.0).
Fix
Keep meshd.sh as the primary target (still validated when reachable) and add a CI-reachable fallback — the raw install.sh at the release tag — so the smoke test still exercises the installer + published binaries end to end instead of red-X'ing the release.
The
Smoke test public installerjob (in bothrelease.ymlandrelease-please.yml) curlshttps://meshd.sh/installand fails withcurl: (22) ... error: 403.Root cause
meshd.shis behind Cloudflare bot protection that returns 403 to datacenter IPs (GitHub Actions runners), independent of User-Agent — the same URL returns 200 from a residential IP. So the smoke test can never reach the public edge from CI, and a UA tweak/retry won't help. Meanwhile the release binaries and the installer itself are fine (install.shdownloads binaries fromgithub.com/.../releases/download, which CI can reach).Example failure: run 29105912234 (v0.17.0).
Fix
Keep
meshd.shas the primary target (still validated when reachable) and add a CI-reachable fallback — the rawinstall.shat the release tag — so the smoke test still exercises the installer + published binaries end to end instead of red-X'ing the release.