/
githubmirror
/
redux
Обзор
Документация
Войти
/
githubmirror
/
redux
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
.github/workflows/test.yaml
276 строк
8 KB
Arya Emami
ci: update TypeScript matrix to remove version `5.4`
12 июн 2026, 21:07
12 июн 2026, 21:07
9e52e25
Код
Авторство
О чём код?
name: CI on: [push, pull_request] permissions: contents: read jobs: changes: name: Check for changes runs-on: ubuntu-latest outputs: src: ${{ steps.filter.outputs.src }} steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - uses: dorny/paths-filter@d1c1ffe0248fe513906c8e24db8ea791d46f8590 # v3.0.3 id: filter with: filters: | src: - '.github/**' - 'src/**' - 'test/**' - '.github/**/*.yaml' - 'tsup.config.ts' - 'yarn.lock' build: needs: changes if: ${{ needs.changes.outputs.src == 'true' }} name: Lint, Test, Build & Pack on Node ${{ matrix.node }} runs-on: ubuntu-latest strategy: matrix: node: ['24.x'] steps: - name: Checkout repo uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Use node ${{ matrix.node }} uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ matrix.node }} cache: 'yarn' - name: Install deps run: yarn install --frozen-lockfile - name: Lint run: yarn lint - name: Run test suite run: yarn test - name: Build run: yarn build - name: Pack run: yarn pack - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: package path: ./package.tgz test-dist: name: Test against dist needs: [build] runs-on: ubuntu-latest strategy: fail-fast: false matrix: node: ['24.x'] steps: - name: Checkout repo uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Use node ${{ matrix.node }} uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ matrix.node }} cache: 'yarn' - name: Install deps run: yarn install --frozen-lockfile - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: package path: . - run: ls -lah - name: Install build artifact run: yarn add ./package.tgz - name: Erase path aliases run: sed -i -e /@remap-prod-remove-line/d tsconfig.base.json - name: Run tests, against dist env: TEST_DIST: true run: yarn test test-types: name: Test Types with TypeScript ${{ matrix.ts }} needs: [build] runs-on: ubuntu-latest strategy: fail-fast: false matrix: node: ['24.x'] ts: ['5.5', '5.6', '5.7', '5.8'] steps: - name: Checkout repo uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Use node ${{ matrix.node }} uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ matrix.node }} cache: 'yarn' - name: Install deps run: yarn install --frozen-lockfile - name: Install TypeScript ${{ matrix.ts }} run: yarn add typescript@${{ matrix.ts }} - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: package path: . - name: Install build artifact run: yarn add ./package.tgz - name: Erase path aliases run: sed -i -e /@remap-prod-remove-line/d tsconfig.base.json - name: Test types env: TEST_DIST: true run: | yarn tsc --version yarn type-tests are-the-types-wrong: name: Check package config with are-the-types-wrong needs: [build] runs-on: ubuntu-latest strategy: fail-fast: false matrix: node: ['24.x'] steps: - name: Checkout repo uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Use node ${{ matrix.node }} uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ matrix.node }} cache: 'yarn' - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: package path: . - name: Install dependencies run: yarn install # Note: We currently expect "FalseESM" failures for Node16 + `moduleResolution: "node16" - name: Run are-the-types-wrong run: yarn attw ./package.tgz --format table --ignore-rules false-esm test-published-artifact: name: Test Published Artifact ${{ matrix.example }} needs: [build] runs-on: ubuntu-latest strategy: fail-fast: false matrix: node: ['24.x'] example: [ 'cra4', 'cra5', 'next', 'vite', 'node-standard', 'node-esm', 'react-native', 'expo' ] steps: - name: Checkout repo uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: persist-credentials: false - name: Use node ${{ matrix.node }} uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ matrix.node }} cache: 'yarn' - name: Clone RTK repo run: | git init ./redux-toolkit git -C ./redux-toolkit fetch --depth 1 https://github.com/reduxjs/redux-toolkit.git 7c49510ff5dc6aad7cda24a59ec6c38a1af053be git -C ./redux-toolkit checkout FETCH_HEAD - name: Cache example deps uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ./redux-toolkit/examples/publish-ci/${{ matrix.example }}/node_modules key: test-published-artifact-${{ matrix.example }}-node_modules - name: Check folder contents run: ls -l . - name: Install deps working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} env: YARN_ENABLE_IMMUTABLE_INSTALLS: false YARN_ENABLE_SCRIPTS: false run: yarn install - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: name: package path: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} - name: Check folder contents working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} run: ls -l . - name: Install build artifact working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} run: yarn add ./package.tgz - name: Show installed package versions working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} run: yarn info redux && yarn why redux - name: Build example working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} env: NODE_OPTIONS: --openssl-legacy-provider run: yarn build - name: playwright install if: matrix.example == 'next' || matrix.example == 'vite' || matrix.example == 'cra4' || matrix.example == 'cra5' working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} run: yarn exec playwright install --with-deps chromium - name: Run test step working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} run: yarn test