Skip to content

test(e2e): add nightly-deploy-moddable cell + cleanup sweep#199

Merged
ottovlotto merged 1 commit into
mainfrom
e2e-nightly-deploy-moddable
May 21, 2026
Merged

test(e2e): add nightly-deploy-moddable cell + cleanup sweep#199
ottovlotto merged 1 commit into
mainfrom
e2e-nightly-deploy-moddable

Conversation

@ottovlotto
Copy link
Copy Markdown
Collaborator

Summary

  • New nightly-deploy-moddable cell in test-nightly-publish matrix. Pre-creates a fresh paritytech/e2e-cli-moddable-<runId> public GH repo each run, pushes the frontend-only fixture into it, then runs dot deploy --moddable from that working dir. Asserts exit 0, "Deploy complete" summary, "Moddable: yes — <url>" line, and the registry has an entry for e2emoddab00.dot.
  • The only cell that exercises the cold-start sequence a Summit attendee takes (gh repo create → push → dot deploy --moddable). mod.test.ts continues to cover the import half of the round-trip.
  • Replaces e2e-cleanup.yml's stub with a real 7-day sweep filtered by topic e2e-test-fixture. Known limitation documented in-workflow: registry entry at e2emoddab00.dot accumulates re-publishes (one fixed domain, same owner — bounded + benign).

Closes #107.

Required before this can be green

Add the PAT value as a repo secret at https://github.com/paritytech/playground-cli/settings/secrets/actions named E2E_GH_PAT (repo + delete_repo scopes). The PAT itself is labelled "Playground CLI cold start test" on Rebecca's GitHub account. Both the moddable cell and the cleanup sweep reference this secret. Rotate before 2026-08-20 (90-day expiry).

Test plan

  • Add E2E_GH_PAT secret to repo settings
  • Manual dispatch of E2E Tests workflow on this branch — confirm nightly-deploy-moddable cell appears and runs
  • On green: confirm paritytech/e2e-cli-moddable-<runId> exists on GitHub with e2e-test-fixture topic
  • Confirm registry has an entry for e2emoddab00.dot (any dot mod e2emoddab00 should succeed after this lands)
  • Manual dispatch of E2E Cleanup workflow — confirms sweep wiring without waiting a week; with a fresh moddable repo (<7 days old) it should list nothing to delete

Design decisions (locked during planning)

  • Per-run fresh repo over static fixture — tests the URL-stamping against a varying URL (catches hardcode regressions) AND covers the gh create + push + deploy timing. The static-fixture alternative would miss both.
  • No PoP step — SIGNER is NoStatus by design; the e2emoddab00 domain label (9-char base + 2 digits) is NoStatus-compatible so DotNS classification matches.
  • Fail loudly on gh repo create errors — no retry, no auto-renaming. Auto-file-failure workflow opens an issue on the morning of (same pattern as fix(dot deploy): always install before build, surface build errors clearly #192).
  • 7-day cleanup retention — tighter than spec's 14 days; surfaces cleanup-cron bugs sooner.
  • No test-side finally cleanup — cron is source of truth; in-test delete could race the bulletin upload serialisation.

Pre-creates a fresh paritytech/e2e-cli-moddable-<runId> public GH repo
each nightly, pushes the frontend-only fixture into it, then runs
dot deploy --moddable against that working dir. Asserts exit 0, the
"Deploy complete" summary, the "Moddable: yes — <url>" line, and the
registry has an entry for e2emoddab00.dot.

Mirrors the cold-start sequence a Summit attendee takes
(gh repo create → push → dot deploy --moddable) — the only test
that exercises the per-run-fresh-repo path. mod.test.ts continues to
cover the import half of the round-trip.

Adds E2E_GH_PAT secret reference for paritytech/ repo create + delete.
Replaces e2e-cleanup.yml's stub with a real 7-day sweep by topic
e2e-test-fixture. Known limitation documented in-workflow: registry
domain entry at e2emoddab00.dot accumulates re-publishes (one fixed
domain, same owner — bounded + benign).

Closes #107
@ottovlotto ottovlotto merged commit b8aebd9 into main May 21, 2026
19 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Dev build ready — try this branch:

curl -fsSL https://raw.githubusercontent.com/paritytech/playground-cli/main/install.sh | VERSION=dev/e2e-nightly-deploy-moddable bash

@github-actions
Copy link
Copy Markdown
Contributor

E2E Test Pass · ✅ PASS

Tag: e2e-ci-pr · Branch: e2e-nightly-deploy-moddable · Commit: 7a1dee3 · Run logs

Cell Result Time
pr-deploy-cdm ✅ PASS 2m02s
pr-mod ✅ PASS 2m02s
pr-deploy-foundry ✅ PASS 0m42s
pr-deploy-frontend ✅ PASS 3m32s
pr-init-session ✅ PASS 1m41s
pr-install ✅ PASS 0m48s
pr-preflight ✅ PASS 1m17s
${{ matrix.cell }} ⏭️ SKIP 0m00s
${{ matrix.cell }} ⏭️ SKIP 0m00s

Sentry traces: view spans for this run

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.

E2E Phase 5e — nightly-deploy-moddable cell (--moddable + GH repo)

1 participant