From c36a24039465a2701f0c8eb722e02f2db17b9fa2 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:16:17 -0500 Subject: [PATCH] Add cache-safe deploy smoke checks for unstable releases --- .github/workflows/ci.yml | 12 ++++-- docs/qa.md | 6 +++ package.json | 4 +- tests/e2e/cache-upgrade-smoke.spec.ts | 56 +++++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 tests/e2e/cache-upgrade-smoke.spec.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e3253736..77f31e56 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,6 +58,15 @@ jobs: - name: Build assets run: npm run build + - name: Smoke check hashed dist asset references + run: npm run smoke:dist-assets + + - name: Install Playwright browsers + run: npx playwright install --with-deps chromium + + - name: Run cache-upgrade smoke test + if: github.event_name == 'push' && github.ref == 'refs/heads/unstable' + run: npm run test:e2e:cache-upgrade - name: Generate dist hash state if: github.event_name == 'push' && github.ref == 'refs/heads/unstable' @@ -73,9 +82,6 @@ jobs: path: artifacts/dist-hashes-current.json if-no-files-found: error - - name: Install Playwright browsers - run: npx playwright install --with-deps chromium - - name: Run visual regression tests id: visual run: npm run test:visual diff --git a/docs/qa.md b/docs/qa.md index f46a7b70..45f4d2a8 100644 --- a/docs/qa.md +++ b/docs/qa.md @@ -50,4 +50,10 @@ Automated regression coverage now exercises these flows on the unified design-sy - While still signed in via the direct-key provider, send a direct message to a second account and confirm it decrypts successfully on the recipient before release. - Log out and ensure the session clears decrypted key material; stored keys should require the passphrase to unlock again. +9. **Cache-Safe Deploy Checklist** + - Build from a clean tree (`npm run build`) and inspect `dist/index.html` and `dist/embed.html`; confirm every local JS/CSS ` + +
+