Files
bookorbit/.github/workflows/e2e.yml
T

61 lines
1.5 KiB
YAML

name: E2E (Manual)
run-name: E2E (dispatch) - ${{ github.ref_name }}
on:
workflow_dispatch:
inputs:
vitest-args:
description: 'Optional vitest args forwarded to all suites (e.g. --testNamePattern="some test")'
required: false
default: ""
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: read-all
env:
NODE_VERSION: "24"
jobs:
setup:
name: Build Suite Matrix
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
outputs:
matrix: ${{ steps.build.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: ${{ env.NODE_VERSION }}
- name: Build matrix
id: build
shell: bash
run: echo "matrix=$(node scripts/e2e/list-matrix.mjs)" >> "$GITHUB_OUTPUT"
e2e:
needs: setup
strategy:
fail-fast: false
matrix:
suite: ${{ fromJSON(needs.setup.outputs.matrix) }}
permissions:
contents: read
checks: write
uses: ./.github/workflows/e2e-runner.yml
with:
suite-id: ${{ matrix.suite.id }}
check-name: "E2E - ${{ matrix.suite.name }}"
artifact-name: "e2e-${{ matrix.suite.id }}-report"
job-timeout-minutes: ${{ matrix.suite.timeout }}
vitest-args: ${{ inputs.vitest-args || '' }}