Simplify CI #12826
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
env: | |
NODE_NO_WARNINGS: true | |
NODE_OPTIONS: '--max-old-space-size=8192' | |
CI: true | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
typecheck-15: | |
name: Type Check on GraphQL v15 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Master | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
- name: Setup env | |
uses: the-guild-org/shared-config/setup@main | |
with: | |
nodeVersion: 22 | |
- name: Use GraphQL v15 | |
run: node ./scripts/match-graphql.js 15 | |
- name: Install Dependencies using Yarn | |
run: yarn install --ignore-engines && git checkout yarn.lock | |
- name: Type Check | |
run: yarn ts:check | |
check: | |
name: Full Check on GraphQL v16 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Master | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
- name: Setup env | |
uses: the-guild-org/shared-config/setup@main | |
with: | |
nodeVersion: 22 | |
- name: Prettier | |
run: yarn prettier:check | |
- name: Lint | |
run: yarn lint | |
- name: Build | |
run: yarn build | |
- name: Test ESM and CJS integrity | |
run: yarn bob check | |
test: | |
name: | |
Unit Test on Node ${{matrix.node-version}} (${{matrix.os}}) and GraphQL | |
v${{matrix.graphql_version}} | |
runs-on: ${{matrix.os}} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] # remove windows to speed up the tests | |
node-version: [18, 20, 22, 23] | |
graphql_version: | |
- 15 | |
- 16 | |
include: | |
- node-version: 18 | |
os: windows-latest | |
graphql_version: 16 | |
steps: | |
- name: Checkout Master | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
- name: Setup env | |
uses: the-guild-org/shared-config/setup@main | |
with: | |
nodeVersion: ${{matrix.node-version}} | |
- name: Use GraphQL v${{matrix.graphql_version}} | |
run: node ./scripts/match-graphql.js ${{matrix.graphql_version}} | |
- name: Install Dependencies using Yarn | |
run: yarn install --ignore-engines && git checkout yarn.lock | |
- name: Cache Jest | |
uses: actions/cache@v4 | |
with: | |
path: .cache/jest | |
key: | |
${{ runner.os }}-${{matrix.node-version}}-${{matrix.graphql_version}}-jest-${{ | |
hashFiles('yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-${{matrix.node-version}}-${{matrix.graphql_version}}-jest- | |
- name: Build | |
run: yarn build | |
- name: Unit Tests | |
run: yarn test --ci | |
- name: Leak Tests | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 10 | |
max_attempts: 5 | |
command: yarn test:leaks --ci |