/
githubmirror
/
trpc
Обзор
Документация
Войти
/
githubmirror
/
trpc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
.github/workflows/main.yml
303 строки
8 KB
Copilot
ci(example): fix Playwright e2e ffmpeg failures (#7412)
20 июн 2026, 22:08
Не верифицирован
20 июн 2026, 22:08
340811b
Код
Авторство
О чём код?
name: main on: pull_request: types: [synchronize, opened, reopened] push: branches: [main, next, canary] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: # only run on PRs if: github.event_name == 'pull_request' timeout-minutes: 10 env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm build typecheck: # only run on PRs if: github.event_name == 'pull_request' timeout-minutes: 10 env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm typecheck-packages typecheck-www: # only run on PRs if: github.event_name == 'pull_request' timeout-minutes: 10 env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} needs: [build] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm typecheck-www test: name: unit and integration tests timeout-minutes: 10 env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: MUTE_REACT_ACT_WARNINGS=1 pnpm test --coverage - name: Verify committed openapi test fixtures run: | if [[ -n "$(git status --porcelain -- packages/openapi/test/routers/)" ]]; then echo "Generated files in packages/openapi/test/routers/ are out of date." echo "Run 'pnpm -C packages/openapi codegen' locally and commit the resulting changes." git status --short -- packages/openapi/test/routers/ echo "" echo "Diff for generated fixtures:" git --no-pager diff -- packages/openapi/test/routers/ exit 1 fi - uses: codecov/codecov-action@v6 with: fail_ci_if_error: true # only use token if not a fork PR token: ${{ github.event.pull_request.head.repo.fork == false && secrets.CODECOV_TOKEN || '' }} e2e: # only run on PRs if: github.event_name == 'pull_request' name: 'E2E-tests' needs: [build] services: postgres: image: postgres env: POSTGRES_DATABASE: trpcdb POSTGRES_USER: postgres POSTGRES_HOST_AUTH_METHOD: trust ports: - 5432:5432 env: NEXTAUTH_SECRET: supersecret TURBO_TEAM: ${{ vars.TURBO_TEAM }} TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} runs-on: ubuntu-latest timeout-minutes: 20 continue-on-error: true strategy: matrix: dir: [ .experimental/next-app-dir, .test/diagnostics-big-router, .test/internal-types-export, .test/ssg, cloudflare-workers, express-minimal, express-server, fastify-server, minimal-react, next-formdata, next-minimal-starter, next-prisma-starter, next-prisma-todomvc, next-prisma-websockets-starter, # next-sse-chat, openapi-codegen, soa, standalone-server, vercel-edge-runtime, nuxt, ] steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm build - run: cp ./examples/${{ matrix.dir }}/.env.example ./examples/${{ matrix.dir }}/.env || true - run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-dev - run: pnpm turbo --filter ./examples/${{ matrix.dir }} build - run: pnpm turbo --filter ./examples/${{ matrix.dir }} typecheck - run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-start e2e-deno: # only run on PRs if: github.event_name == 'pull_request' name: 'E2E-tests (Deno)' needs: [build] env: NEXTAUTH_SECRET: supersecret TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} # TURBO_REMOTE_ONLY: true runs-on: ubuntu-latest timeout-minutes: 20 continue-on-error: true strategy: matrix: dir: [deno-deploy] steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm build - uses: denoland/setup-deno@v1 with: deno-version: 2.x - run: deno --version - run: | cd ./examples/${{ matrix.dir }} pnpm dlx start-server-and-test "deno run --allow-net=:8000 --allow-env ./src/index.ts" http://127.0.0.1:8000 "deno run --allow-net --allow-env ./src/client.ts" e2e-bun: # only run on PRs if: github.event_name == 'pull_request' name: 'E2E-tests (Bun)' needs: [build] env: NEXTAUTH_SECRET: supersecret TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} # TURBO_REMOTE_ONLY: true runs-on: ${{ matrix.os }} timeout-minutes: 20 continue-on-error: true strategy: matrix: dir: [bun] os: [ubuntu-latest] steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm build - uses: oven-sh/setup-bun@v2 with: bun-version: 1.3.9 - run: bun --version - run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-dev - run: pnpm turbo --filter ./examples/${{ matrix.dir }} build - run: pnpm turbo --filter ./examples/${{ matrix.dir }} typecheck - run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-start e2e-legacy-node: # only run on PRs if: github.event_name == 'pull_request' needs: [build] services: postgres: image: postgres env: POSTGRES_DATABASE: trpcdb POSTGRES_USER: postgres POSTGRES_HOST_AUTH_METHOD: trust ports: - 5432:5432 env: NEXTAUTH_SECRET: supersecret TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} runs-on: ubuntu-latest timeout-minutes: 20 continue-on-error: true strategy: matrix: dir: [ next-prisma-starter, next-prisma-websockets-starter, next-prisma-todomvc, ] node-start: ['18.x', '20.x'] steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm build - uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-start }} cache: 'pnpm' - run: node -v - run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-dev - run: pnpm turbo --filter ./examples/${{ matrix.dir }} build - run: pnpm turbo --filter ./examples/${{ matrix.dir }} typecheck - run: pnpm turbo --filter ./examples/${{ matrix.dir }} test-start # https://pkg.pr.new release-tmp: name: Release using pkg.pr.new needs: [build] runs-on: ubuntu-latest env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm build - run: pnpx pkg-pr-new publish './packages/*' monotest-build: name: Test a monorepo using built declaration files needs: [build] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: ./.github/setup - run: pnpm monotest-build