mirror of
https://github.com/hanzoai/sign.git
synced 2026-10-21 01:21:51 +00:00
The purpose-prefixed labels (hanzo-build-*, hanzo-deploy-*, hanzo-docs-build-*) are retired in favour of the bare <os>-<arch> every runner already advertises. They were not a capability, only a habit, and the habit cost builds: papers asked for hanzo-build-linux-amd64, no online runner offered it, and two idle linux-amd64 runners sat beside the queue while the build simply never ran. The lux tree lost three days to lux-linux-amd64 the same way. What a job is FOR is the workflow's name. runs-on is the machine it needs.
73 lines
2.3 KiB
YAML
73 lines
2.3 KiB
YAML
# Playwright e2e against a real stack: services up, database migrated and
|
|
# seeded, then the suite.
|
|
#
|
|
# This is the ONE thing .github/workflows still did that the native lane does
|
|
# not. The other three files there were identical stubs echoing "moved to native
|
|
# pipeline" — a workflow that reports success for doing nothing, which is worse
|
|
# than no workflow, so they are gone.
|
|
#
|
|
# The label was warp-ubuntu-2204-x64-8x, a WarpBuild SaaS runner this fleet does
|
|
# not have. On the forge that queues rather than fails.
|
|
#
|
|
# .github/actions/{node-install,playwright-install} stay where they are and
|
|
# still resolve — a local action is a path in the repo, not a GitHub surface.
|
|
name: Playwright Tests
|
|
on:
|
|
push:
|
|
branches: ['main']
|
|
pull_request:
|
|
branches: ['main']
|
|
|
|
concurrency:
|
|
group: ci-${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
e2e_tests:
|
|
name: 'E2E Tests'
|
|
timeout-minutes: 60
|
|
runs-on: [linux-amd64]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Copy env
|
|
run: cp .env.example .env
|
|
|
|
- uses: ./.github/actions/node-install
|
|
|
|
- name: Start Services
|
|
run: npm run dx:up
|
|
|
|
- uses: ./.github/actions/playwright-install
|
|
|
|
- name: Create the database
|
|
run: npm run prisma:migrate-dev
|
|
|
|
- name: Seed the database
|
|
run: npm run prisma:seed
|
|
|
|
- name: Install playwright browsers
|
|
run: npx playwright install --with-deps
|
|
|
|
- name: Run Playwright tests
|
|
run: npm run ci
|
|
env:
|
|
# Needed since we use next start which will set the NODE_ENV to production
|
|
NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH: './example/cert.p12'
|
|
DANGEROUS_BYPASS_RATE_LIMITS: 'true'
|
|
|
|
# v3, not v4: @actions/artifact v2 (which upload-artifact v4 uses) refuses
|
|
# to run against anything it does not recognise as github.com and fails
|
|
# with GHESNotSupportedError. That failed the job on its own, so a green
|
|
# suite would still have reported red. The forge keeps artifacts for 30
|
|
# days and serves the v3 protocol.
|
|
- uses: actions/upload-artifact@v3
|
|
if: always()
|
|
with:
|
|
name: test-results
|
|
path: 'packages/app-tests/**/test-results/*'
|
|
retention-days: 7
|
|
env:
|
|
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
|
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
|