Skip to content

feat(ci): add e2e artifacts workflow#20

Merged
Astro-Han merged 3 commits into
devfrom
feat/e2e-artifacts
Apr 17, 2026
Merged

feat(ci): add e2e artifacts workflow#20
Astro-Han merged 3 commits into
devfrom
feat/e2e-artifacts

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Apr 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a dedicated e2e-artifacts.yml workflow instead of extending the main ci.yml gate.
  • Runs Linux Playwright E2E in a non-blocking job, always uploading playwright-report, test-results, and junit-linux.xml for debugging.
  • Splits the suite into @smoke and full: PRs run smoke automatically, workflow_dispatch can run either suite and defaults to full.
  • Keeps the first rollout fork-safe with pull_request, contents: read, and persist-credentials: false.
  • Adds contract tests for workflow shape, smoke inventory, and the seed-e2e.ts exit behavior.

Why

The goal of this first workflow is better failure diagnosis, not stronger merge gating. Keeping it separate from ci.yml lets us preserve failure artifacts without changing required checks, adding release logic, or broadening permissions.

Notes

  • continue-on-error: true is intentional for the first rollout. The workflow is non-blocking by design, while still surfacing failing job status and retaining artifacts.
  • packages/opencode/script/seed-e2e.ts no longer calls ToolRegistry.ids(). That warmup call was causing the seed script to hang after seeding. The new seed-e2e.test.ts locks in the expected contract that the script exits cleanly after creating the seeded session.

Test plan

  • bun test --preload ./test/preload.ts ./test/config/e2e-artifacts-workflow.test.ts ./test/config/e2e-smoke-tagging.test.ts ./test/config/seed-e2e.test.ts
  • bun --cwd packages/app test:e2e:local:smoke -- --project=chromium
  • git diff --check
  • Fresh-eyes review on the final diff, no remaining findings
  • First real GitHub Actions run on this PR uploads playwright-report, test-results, and junit-linux.xml

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