Skip to content

fix(build): the sahajatlas Worker is gone, so no PR gets a preview #356

Closed

Description

@sydevs-bot

Summary

No pull request in this repo can pass CI: the Smoke job's publish step answers "You cannot
upload a new version of a Worker that does not yet exist. Please run the deploy command
first."
The sahajatlas Worker — the app's deploy target in docs/rules/deployment.md — does
not answer at its own workers.dev host, nor at any earlier preview alias. sahajatlas.com
still serves correctly, so this is not a visitor-facing outage today, but the deploy target the
repo is configured against is in an unknown state.

Approach

The cause is outside this repository, and no commit here fixes it. wrangler.jsonc,
.github/workflows/ci.yml and the publish step are unchanged since the last green run. Two
candidate causes, and the dashboard decides which:

  1. The Worker was deleted. wrangler.jsonc:18 warns twice that sahajatlas was also the
    retiring Pages project's name. chore(build): cut sahajatlas.com over to Workers and delete Pages #283's last phase deletes that Pages project; deleting the
    Worker of the same name instead fits every measurement below.
  2. The CI credential moved. CLOUDFLARE_API_TOKEN or CLOUDFLARE_ACCOUNT_ID now reads an
    account that holds no sahajatlas Worker. Workers Builds: sahajatlas-design still passes,
    but that uses Cloudflare's own git integration, not these two secrets, so it does not
    discriminate.

⚠ The repo-side "fix" is wrong. Changing versions upload to deploy in ci.yml:220
would make every pull request deploy to production. ci.yml:194 and docs/testing.md state why
the command is versions upload: it uploads a version and deploys nothing, so production traffic
never moves.

Whichever cause holds, docs/rules/deployment.md is then wrong about what serves
sahajatlas.com, because it was written on the assumption that the Worker is what does.

Acceptance criteria

  • CI's Smoke job on an open pull request publishes a preview and runs its 18 specs, instead
    of reporting "NO smoke specs ran".
  • https://sahajatlas.contact-c66.workers.dev/ serves the app, or
    docs/rules/deployment.md says that host is deliberately off and what serves the domain
    instead — verified, not assumed.
  • A deploy of main lands on the Worker wrangler.jsonc names.
  • docs/rules/deployment.md records what this incident found, so the next reader is not
    re-deriving it.

Verification checklist

  • curl -sS -o /dev/null -w '%{http_code}\n' https://sahajatlas.contact-c66.workers.dev/ —
    not 404 with Cloudflare error code: 1042
  • Re-run CI on any open pull request: the Smoke check is green, and its step summary
    reports specs run rather than the publish warning
  • curl -sSI https://sahajatlas.com/embed.js still carries
    cache-control: public, max-age=0, must-revalidate and access-control-allow-origin: *
  • curl -sS https://sahajatlas.com/robots.txt | head -1 is still our own file

Notes

Measured 2026-11-01, 20:21–20:40 UTC, from the fix-ci run on #355:

Probe Result
sahajatlas.contact-c66.workers.dev 404, Cloudflare error code: 1042
pr-344-sahajatlas.contact-c66.workers.dev 404, error code: 1042 — docs/testing.md records this alias green on 2026-10-30
sahajatlas-design.contact-c66.workers.dev 200, serves the playground
sahajatlas.com/ and /embed.js 200, with our own _headers (access-control-allow-origin: *, x-robots-tag: noindex, max-age=0, must-revalidate)
sahajatlas.com/assets/not-real-<random>.js 200 text/html — a live origin with a single-page-application fallback is answering

The window: CI run 551 was green at 19:10 UTC; run 552 (#353,
claude/feat-17-brand-map-markers) failed at this same publish step at 20:05 UTC, and run 553
(#355) at 20:21 UTC. The two branches share nothing, so the failure is
repo-wide, not a branch's.

Priority is High, not Critical: every pull request is blocked, but no visitor-facing outage
was observed. Raise it if sahajatlas.com starts failing.

Related, not a parent: #266 is the Pages-to-Workers goal, and
#283 is the cutover whose last phase deletes the same-named Pages project.

Activity

  1. added theissue type on Nov 1, 2026
  2. added
    proposalFiled by the loop. Removed on the first human verb.
    on Nov 1, 2026
  3. Ardnived commented on Nov 2, 2026

    @Ardnived
    Contributor

    Resolved by #357. The Worker was never deleted, and the CI credential is fine. It was renamed in the dashboard, from sahajatlas to sahajatlas-web, on 2026-11-01 at about 19:24Z. wrangler.jsonc still named sahajatlas, so every versions upload targeted a Worker that no longer existed. This matches the measured window: green at 19:10Z, red from 20:05Z.

    Acceptance criterion Evidence
    Smoke on an open PR publishes a preview and runs its specs #357's Smoke published pr-357-sahajatlas-web.contact-c66.workers.dev and passed. The open PRs were brought up to date with main to re-run theirs
    The Worker's workers.dev host serves the app https://sahajatlas-web.contact-c66.workers.dev/ returns 200. The old sahajatlas.… host returns 404 because the name no longer exists
    A deploy of main lands on the Worker wrangler.jsonc names Workers Builds: sahajatlas-web on #357's merge, and the production lane read sahajatlas.com and passed: https://github.com/sydevs/SahajAtlasWeb/actions/runs/41371275919
    docs/rules/deployment.md records the incident #357 records the rename date, and that wrangler.jsonc's name must follow any dashboard rename
    embed.js headers and robots.txt Unchanged: max-age=0, must-revalidate, access-control-allow-origin: *, and our own robots.txt

    The full move record is on #266.

  4. moved this from Awaiting to Done in SYDevelopers Technical Roadmapon Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    proposalFiled by the loop. Removed on the first human verb.

    Type

    Fields

    Priority

    High

    Hold Until

    None yet

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions