Skip to content

Add CI workflow: typecheck, unit, e2e, build#102

Merged
fungc-io merged 4 commits into
oursky:mainfrom
fungc-io:chore/ci-workflow
Jul 23, 2026
Merged

Add CI workflow: typecheck, unit, e2e, build#102
fungc-io merged 4 commits into
oursky:mainfrom
fungc-io:chore/ci-workflow

Conversation

@fungc-io

Copy link
Copy Markdown
Contributor

Summary

Adds .github/workflows/ci.yml — the repo currently has no CI, which is how the Playwright suite sat 136/146 broken for 2.5 months (fixed in #101) without anyone noticing.

Two parallel jobs on every PR and push to main:

  • test: npm ciastro checkvitest → Playwright (chromium) full suite, with traces/report uploaded as an artifact on failure
  • build: production npm run build to catch build-only breakage

Details:

  • Node 22 with npm cache
  • Playwright's own config already handles CI (starts its own dev server; reuseExistingServer disabled when CI is set)
  • Concurrency group cancels superseded runs on force-push

Testing

All four commands pass locally on main as of #101 (143/143 e2e, 49/49 unit, clean astro check and build). The workflow itself will get its first real run on this PR.

fungc-io added 4 commits July 23, 2026 16:13
The Playwright suite sat broken for 2.5 months (136/146 failing since
trailingSlash 'always' landed) because nothing ran it. This workflow
runs astro check + vitest + the full Playwright suite on every PR and
push to main, with a parallel production-build job, and uploads the
Playwright traces on failure.
Root cause of the CI-only failures: @netlify/dev loads _redirects and
netlify.toml header rules from the publish directory (dist/). Locally a
stale dist/ from prior builds masked this; CI never has one, so all
redirect and cache-header tests 404'd. The build step now runs in the
test job before Playwright (replacing the separate build job), and the
prerequisite is documented in playwright.config.ts. Diagnostic steps
removed.
@fungc-io
fungc-io merged commit 51bc387 into oursky:main Jul 23, 2026
1 check passed
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