Tidy up dependencies #18941
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: Testing | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| NODE_OPTIONS: '--max_old_space_size=4096' | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| lint: | |
| name: Linting Check | |
| uses: the-guild-org/shared-config/.github/workflows/lint.yml@f4eea983237a44bb0ca19c3348dacbfdfcdbec23 # main | |
| with: | |
| script: pnpm ci:lint | |
| packageManager: pnpm | |
| secrets: | |
| githubToken: ${{ secrets.GITHUB_TOKEN }} | |
| prettier-check: | |
| name: 🧹 Prettier Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| standalone: true | |
| cache: true | |
| - name: Install Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| - name: Install packages | |
| run: pnpm install | |
| - name: Prettier Check | |
| run: pnpm prettier:check | |
| dev-tests-old: | |
| name: Validating dev-tests | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| method: | |
| - 'cjs' | |
| - 'esm' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| standalone: true | |
| cache: true | |
| - name: Install Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| - name: Install packages | |
| run: pnpm install | |
| - name: Build | |
| run: pnpm build | |
| env: | |
| CI: true | |
| - name: Test dev-tests ${{matrix.method}} | |
| run: | | |
| pnpm run generate:examples:${{matrix.method}} | |
| git diff --exit-code -- dev-test/ | |
| dev-tests: | |
| name: Examples - Normal | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| standalone: true | |
| cache: true | |
| - name: Install Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| - name: Install packages | |
| # `side-effects-cache false` is set to avoid using pnpm cache for binary cache like Cypress' | |
| run: | | |
| pnpm config set side-effects-cache false --location project | |
| pnpm i | |
| - name: Build | |
| run: pnpm build | |
| env: | |
| CI: true | |
| - name: Generate and Diff Codegen Artifacts | |
| run: | | |
| EXAMPLE_TYPE=normal pnpm examples:codegen | |
| git diff --exit-code -- examples/ | |
| - name: Build Examples | |
| run: | | |
| EXAMPLE_TYPE=normal pnpm examples:build | |
| - name: End2End Test Examples | |
| run: | | |
| EXAMPLE_TYPE=normal pnpm examples:test:end2end | |
| # TODO: Remove all SWC test setup and references as that has been moved to https://github.com/swc-project/plugins/tree/main/contrib/graphql-codegen-client-preset | |
| # dev-tests-swc: | |
| # name: Examples - SWC | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - name: Checkout | |
| # uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| # - name: Setup env | |
| # uses: the-guild-org/shared-config/setup@main | |
| # - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1 | |
| # with: | |
| # toolchain: 1.65.0 | |
| # target: wasm32-wasi | |
| # override: true | |
| # - name: Build SWC plugin | |
| # working-directory: ./packages/presets/swc-plugin | |
| # run: | | |
| # npm run build-wasm | |
| # - name: Build | |
| # run: yarn build | |
| # env: | |
| # CI: true | |
| # - name: Generate and Diff Codegen Artifacts | |
| # run: | | |
| # EXAMPLE_TYPE=swc yarn examples:codegen | |
| # git diff --exit-code -- examples/ | |
| # - name: Build Examples | |
| # run: | | |
| # EXAMPLE_TYPE=swc yarn examples:build | |
| # - name: End2End Test Examples | |
| # run: | | |
| # EXAMPLE_TYPE=swc yarn examples:test:end2end | |
| esm: | |
| name: Testing exports integrity | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| standalone: true | |
| cache: true | |
| - name: Install Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| - name: Install packages | |
| run: pnpm i | |
| - name: Build | |
| run: pnpm build | |
| env: | |
| CI: true | |
| - name: Test ESM & CJS integrity | |
| run: pnpm bob check | |
| test: | |
| name: | |
| Unit Test on Node ${{matrix.node_version}} (${{matrix.os}}) and GraphQL | |
| v${{matrix.graphql_version}} | |
| runs-on: ubuntu-latest | |
| needs: | |
| - lint | |
| - prettier-check | |
| - esm | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] # remove windows to speed up the tests | |
| node_version: [22, 24] | |
| graphql_version: [15, 16] | |
| include: | |
| - node-version: 22 | |
| os: windows-latest | |
| graphql_version: 16 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| standalone: true | |
| cache: true | |
| - name: Install Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: ${{matrix.node_version}} | |
| - name: Install Dependencies to match graphql version | |
| run: pnpm i | |
| - name: Use GraphQL v${{matrix.graphql_version}} | |
| run: node ./scripts/match-graphql.js ${{matrix.graphql_version}} | |
| - name: Install Dependencies | |
| run: pnpm i --no-frozen-lockfile # no frozen-lockfile because `graphql` version is changed | |
| - name: Build | |
| run: pnpm build | |
| - name: Test | |
| # FIXME: Do not test `watcher.run.spec.ts` here because it is currently not working for Node22+ in Ubuntu | |
| run: pnpm test --exclude="**/tests/watcher.run.spec.ts" | |
| env: | |
| CI: true | |
| test-watcher: | |
| name: | |
| Watcher Unit Test on Node ${{matrix.node_version}} (${{matrix.os}}) and GraphQL | |
| v${{matrix.graphql_version}} | |
| runs-on: ubuntu-latest | |
| needs: | |
| - lint | |
| - prettier-check | |
| - esm | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] # remove windows to speed up the tests | |
| node_version: [20] | |
| graphql_version: [15, 16] | |
| include: | |
| - node-version: 20 | |
| os: windows-latest | |
| graphql_version: 16 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| standalone: true | |
| cache: true | |
| - name: Install Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: ${{matrix.node_version}} | |
| - name: Install Dependencies to match graphql version | |
| run: pnpm i | |
| - name: Use GraphQL v${{matrix.graphql_version}} | |
| run: node ./scripts/match-graphql.js ${{matrix.graphql_version}} | |
| - name: Install Dependencies | |
| run: pnpm i --no-frozen-lockfile # no frozen-lockfile because `graphql` version is changed | |
| - name: Build | |
| run: pnpm build | |
| - name: Test | |
| # FIXME: Merge `watcher.run.spec.ts` test to the above when it works for Node22+ in Ubuntu | |
| run: pnpm test packages/graphql-codegen-cli/tests/watcher.run.spec.ts | |
| env: | |
| CI: true | |
| # TODO: Remove all SWC test setup and references as that has been moved to https://github.com/swc-project/plugins/tree/main/contrib/graphql-codegen-client-preset | |
| # test-rust-swc-plugin: | |
| # name: Build and Unit Test SWC Plugin | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| # - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1 | |
| # with: | |
| # toolchain: 1.65.0 | |
| # target: wasm32-wasi | |
| # override: true | |
| # - uses: marcopolo/cargo@a527bf4d534717ff4424a84446c5d710f8833139 | |
| # with: | |
| # working-directory: ./packages/presets/swc-plugin | |
| # command: build | |
| # args: --target wasm32-wasi | |
| # - uses: marcopolo/cargo@a527bf4d534717ff4424a84446c5d710f8833139 | |
| # with: | |
| # working-directory: ./packages/presets/swc-plugin | |
| # command: test |