Skip to content

[ci] several more tweaks to compat check workflow (#3785) #583

[ci] several more tweaks to compat check workflow (#3785)

[ci] several more tweaks to compat check workflow (#3785) #583

name: Build & Test PR w/ GraphQL Regressions
on:
push:
# only on merge to main.
# it's rare that this workflow would
# show us an error, but when it does it's important!
branches:
- main
# don't run this regression suite if we don't need to
paths-ignore:
- '**.md'
- 'examples'
- '!examples/monaco-graphql-webpack'
# TODO: test matrix?
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
build:
name: Build & Test
runs-on: ubuntu-20.04
strategy:
matrix:
release:
# test against the latest 16.x version, which might be newer than what we have
- '^16'
# test against the oldest version we support
- '^16.0.0'
# test against the latest alpha
- '^17.0.0-alpha'
steps:
- name: Checkout Code
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
cache: yarn
- name: Cache node modules
uses: actions/cache@v4
with:
path: node_modules
key: node_modules-${{hashFiles('yarn.lock')}}
restore-keys: node_modules-
- name: Force GraphQL ${{ matrix.release }} solution
run: yarn repo:resolve graphql@${{ matrix.release }}
- run: yarn install --frozen-lockfile --immutable
- name: Unit Tests
run: yarn test:ci
- name: Cypress
run: yarn e2e