Version Packages #3080
Workflow file for this run
This file contains hidden or 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: PR | |
| on: | |
| pull_request: | |
| types: [opened, reopened, synchronize] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn build | |
| - uses: actions/cache@v5 | |
| with: | |
| key: build-${{ github.sha }} | |
| path: ${{ env.BUILD-CACHE-LIST }} | |
| cspell: | |
| name: CSpell | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn lint-cspell | |
| format: | |
| name: Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn format-check | |
| - run: yarn svgo-check | |
| dedupe-check: | |
| name: Yarn Dedupe Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn dedupe --check | |
| vitest: | |
| name: Vitest Unit Tests | |
| runs-on: ubuntu-latest | |
| needs: [build] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - uses: actions/cache@v5 | |
| with: | |
| key: build-${{ github.sha }} | |
| path: ${{ env.BUILD-CACHE-LIST }} | |
| - run: yarn test | |
| graphql-17-fragment-arguments: | |
| name: GraphQL 17 Fragment Arguments | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - run: yarn workspace graphql-language-service add --dev graphql@17.0.2 | |
| - name: Build and typecheck graphql-language-service | |
| run: yarn workspace graphql-language-service exec tsc | |
| - name: Test fragment argument integration | |
| run: >- | |
| yarn vitest run packages/graphql-language-service/src/parser/__tests__/OnlineParser.test.ts packages/graphql-language-service/src/interface/__tests__/getAutocompleteSuggestions.test.ts packages/graphql-language-service/src/interface/__tests__/getDiagnostics.test.ts packages/graphql-language-service/src/interface/__tests__/getHoverInformation.test.ts | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| needs: [build] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - uses: actions/cache@v5 | |
| with: | |
| key: build-${{ github.sha }} | |
| path: ${{ env.BUILD-CACHE-LIST }} | |
| - run: yarn oxlint | |
| types-check: | |
| name: Types Check | |
| runs-on: ubuntu-latest | |
| needs: [build] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - uses: actions/cache@v5 | |
| with: | |
| key: build-${{ github.sha }} | |
| path: ${{ env.BUILD-CACHE-LIST }} | |
| - run: yarn types:check | |
| e2e: | |
| name: Cypress | |
| runs-on: ubuntu-latest | |
| needs: [build] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - uses: actions/cache@v5 | |
| with: | |
| key: build-${{ github.sha }} | |
| path: ${{ env.BUILD-CACHE-LIST }} | |
| - uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.cache/Cypress | |
| key: cypress-${{ runner.os }}-${{ hashFiles('yarn.lock') }} | |
| - name: Cypress run | |
| uses: cypress-io/github-action@v7 | |
| with: | |
| install: false | |
| command: yarn e2e | |
| - uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: cypress-screenshots | |
| path: packages/graphiql/cypress/screenshots | |
| if-no-files-found: ignore | |
| - uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: cypress-videos | |
| path: packages/graphiql/cypress/videos | |
| if-no-files-found: ignore | |
| pkg-pr-new: | |
| name: Canary Builds | |
| runs-on: ubuntu-latest | |
| needs: [build, lint, vitest, e2e] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - uses: actions/cache@v5 | |
| with: | |
| key: build-${{ github.sha }} | |
| path: ${{ env.BUILD-CACHE-LIST }} | |
| - run: npx pkg-pr-new publish --comment=off './packages/*' | |
| license-check: | |
| name: Check Licenses | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: yarn | |
| - run: yarn install --immutable | |
| - name: License Check | |
| run: yarn license-check | |
| env: | |
| BUILD-CACHE-LIST: | | |
| packages/**/dist/**/* | |
| packages/**/cjs/**/* | |
| packages/**/esm/**/* | |
| packages/**/types/**/* | |
| packages/codemirror-graphql/*.js* | |
| packages/codemirror-graphql/*.d.ts | |
| packages/codemirror-graphql/cm6-legacy/**/* | |
| packages/codemirror-graphql/results/**/* | |
| packages/codemirror-graphql/variables/**/* | |
| packages/codemirror-graphql/utils/**/* | |
| !**/node_modules |