Skip to content

chore(deploy): retire AWS/GCP pipeline; deploy production on release tags#193

Merged
MaximusHaximus merged 1 commit into
masterfrom
chore/retire-legacy-deploys
Jul 16, 2026
Merged

chore(deploy): retire AWS/GCP pipeline; deploy production on release tags#193
MaximusHaximus merged 1 commit into
masterfrom
chore/retire-legacy-deploys

Conversation

@MaximusHaximus

@MaximusHaximus MaximusHaximus commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What

Finalizes the move of static.polygon.technology onto Cloudflare Workers static assets (#190#192). The endpoint has been serving from the Worker since 2026-07-08, byte-verified against this repository's network/ tree.

  • Removes the retired nginx image and its legacy deploy pipelinesDockerfile, nginx.conf, deployment.yml, build_and_deploy.yml, deployment_gcp.yml, .github/taskdef/. Every duty nginx had is replaced, not dropped: content serving by Cloudflare's static-asset layer, response CORS/caching headers by public/_headers, and CORS preflight OPTIONS handling by the worker/worker.ts shim (fix(deploy): answer CORS preflight OPTIONS from a worker script #194). They were kept briefly as a rollback path and are no longer needed; rollback is now redeploying a previous Worker version via workflow_dispatch. The image was internal deploy tooling only (never published to any public registry) — self-hosting this content needs nothing more than a static file server pointed at network/, and the old setup remains available in git history.
  • Production deploys on @polygonlabs/meta release tags, in lockstep with the npm publish, so the HTTP endpoint and the npm package (two surfaces of one network/ tree) cannot drift. Pushes to master deploy staging; workflow_dispatch remains the manual escape hatch for either environment.
  • Environment resolution hardened — replaced a ${{ }} expression chain with explicit bash that fails closed on unexpected inputs or refs instead of falling through to a default.
  • Staging hostname renamed to static-staging.polygon.technology, matching the <name>-staging convention used by our other frontends.
  • Adds a root CHANGELOG.md (first entry 1.0.0) documenting the endpoint's consumer-visible changes — real 404s for missing paths, the CORS surface, Cache-Control: public, max-age=300, and the removal of /network/index.js (superseded by the @polygonlabs/meta package). CLAUDE.md gains the policy of maintaining it for future capability changes.
  • Docs and config comments updated to describe the system as it is, rather than the migration that produced it.

Rebased onto master after #194 (the CORS preflight fix). The pre-outage comments claiming the Authorization/Content-Type allow-headers were a surface "that never existed" are corrected — they're load-bearing for maticjs's preflights and now live in the worker's OPTIONS response; the CHANGELOG's CORS entry now records the real surface (GET, HEAD, OPTIONS + worker-answered preflights) and the incident. The [env.staging] comment also documents that static-staging.polygon.technology has an existing externally-managed DNS record, so staging deploys fail harmlessly at domain registration (code 100117) until SPEC swaps the record onto polygon-static-staging in the CF dashboard — same sequence as the apex cutover.

No changeset — all changes are outside packages/meta/.

@MaximusHaximus
MaximusHaximus marked this pull request as ready for review July 8, 2026 19:01
@MaximusHaximus
MaximusHaximus requested a review from a team as a code owner July 8, 2026 19:01
@MaximusHaximus
MaximusHaximus force-pushed the chore/retire-legacy-deploys branch from d6405c0 to 684f337 Compare July 8, 2026 19:06
@claude

claude Bot commented Jul 8, 2026

Copy link
Copy Markdown

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.


@MaximusHaximus
MaximusHaximus force-pushed the chore/retire-legacy-deploys branch 5 times, most recently from 66b034e to 8bccc0f Compare July 8, 2026 19:48
@sonarqubecloud

sonarqubecloud Bot commented Jul 8, 2026

Copy link
Copy Markdown

The endpoint serves from Cloudflare Workers static assets, so the nginx image and
its AWS ECS / GCP deploy pipelines (Dockerfile, nginx.conf, deployment.yml,
build_and_deploy.yml, deployment_gcp.yml, .github/taskdef/) no longer serve
anything and are removed. The image was internal deploy tooling, never published
to a public registry; self-hosting the content needs only a static file server
over network/, and the old setup remains in git history.

deploy.yml now deploys production on the @polygonlabs/meta release tag, in
lockstep with the npm publish, so the HTTP endpoint and the npm package — two
surfaces of one network/ tree — cannot drift; pushes to master deploy staging and
workflow_dispatch stays as the escape hatch. Environment resolution is plain bash
that fails closed on unexpected inputs or refs, instead of a ${{ }} ternary chain
whose short-circuiting silently falls through on falsy operands.

The staging hostname becomes static-staging.polygon.technology, matching the
<name>-staging convention of our other frontends.

A root CHANGELOG.md is introduced (entry 1.0.0) for the endpoint's
consumer-visible changes — real 404s, the read-only GET/OPTIONS CORS surface, the
cache header, and the /network/index.js removal — with a CLAUDE.md policy to
maintain it whenever the repository's capabilities change. Remaining docs and
config comments now describe the system as it is rather than the migration that
produced it.
@MaximusHaximus
MaximusHaximus force-pushed the chore/retire-legacy-deploys branch from 8bccc0f to 13593d8 Compare July 16, 2026 10:37
@MaximusHaximus
MaximusHaximus merged commit 9214e2e into master Jul 16, 2026
7 checks passed
@MaximusHaximus
MaximusHaximus deleted the chore/retire-legacy-deploys branch July 16, 2026 15: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