Skip to content

test: migrate workflows to self-hosted runners#327

Open
NolanNtrg wants to merge 3 commits into
BearStudio:devfrom
NolanNtrg:ci/self-hosted-runners
Open

test: migrate workflows to self-hosted runners#327
NolanNtrg wants to merge 3 commits into
BearStudio:devfrom
NolanNtrg:ci/self-hosted-runners

Conversation

@NolanNtrg

@NolanNtrg NolanNtrg commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Migrate all CI workflows (code-quality, e2e-tests, release, pr-title) to self-hosted runners

  • Use the official Playwright container (mcr.microsoft.com/playwright:v1.59.1-noble) for e2e and unit tests jobs, with --user 1001:1001

  • Configure a persistent pnpm store (~/.pnpm-store) with --prefer-offline for faster installs across runs

  • Remove the composite setup-playwright action and the minio/S3 service from the e2e workflow

  • Add git clean -ffdx cleanup at the end of every job (if: always())

  • Remove S3/minio upload integration (route, env vars, UI components)

  • Fix Playwright webServer.url to point at /api/openapi/app so Nitro is fully initialized before tests start

  • Performance comparison :

    • Code quality : 3m 39s (GitHub servers) vs 2m 55s (self-hosted)
    • E2E : 5m 29s (GitHub servers) vs 5m 19s (self-hosted)

Test plan

  • code-quality workflow passes on a PR (linter, TS checker, unit tests)
  • e2e-tests workflow passes end-to-end

🤖 Generated with Claude Code

NolanNtrg and others added 3 commits April 29, 2026 14:55
- Replace GitHub-hosted runners with self-hosted across all workflows
- Use official Playwright container (v1.59.1-noble) for e2e and unit tests
- Configure persistent pnpm store at ~/.pnpm-store with --prefer-offline
- Remove composite setup-playwright action (no longer needed)
- Remove minio/S3 service from e2e workflow
- Add git clean -ffdx cleanup step to all jobs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Upload feature removed along with the S3 dependency, env vars,
route handler, and UI components.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Point webServer.url to /api/openapi/app so Playwright waits for the
Nitro environment to be fully initialized before running tests,
preventing 503 errors from the race condition between HTTP server
startup and Nitro initialization.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@NolanNtrg NolanNtrg changed the title ci: migrate workflows to self-hosted runners test: migrate workflows to self-hosted runners Apr 29, 2026
@NolanNtrg
NolanNtrg marked this pull request as ready for review April 29, 2026 13:00
@NolanNtrg
NolanNtrg requested a review from ntatoud April 29, 2026 13:06
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