Introduce pre-typed hooks via hook.withTypes<RootState>()
method
#669
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 | |
on: | |
push: | |
branches: [master, v9.0-integration] | |
pull_request: | |
branches: [master, v9.0-integration] | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Test Suite | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
cache: 'yarn' | |
- name: Install dependencies | |
run: yarn install | |
- name: Run test suite | |
run: yarn test | |
- name: Collect coverage | |
run: yarn coverage | |
- name: Build | |
run: yarn build | |
- name: Pack | |
run: yarn pack | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: package | |
path: ./package.tgz | |
test-types: | |
name: Test Types with TypeScript ${{ matrix.ts }} | |
needs: [build] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: ['16.x'] | |
ts: ['4.7', '4.8', '4.9', '5.0', '5.1', '5.2'] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Use node ${{ matrix.node }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: 'yarn' | |
- name: Install deps | |
run: yarn install | |
- name: Install TypeScript ${{ matrix.ts }} | |
run: yarn add typescript@${{ matrix.ts }} | |
- name: Test types | |
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: ['16.x'] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: package | |
path: . | |
# Note: We currently expect "FalseCJS" failures for Node16 + `moduleResolution: "node16", | |
# and the `/alternateRenderers" entry point will not resolve under Node10. | |
# Skipping these is dangerous, but we'll leave it for now. | |
- name: Run are-the-types-wrong | |
run: npx @arethetypeswrong/cli ./package.tgz --format table --ignore-rules false-cjs no-resolution | |
test-published-artifact: | |
name: Test Published Artifact ${{ matrix.example }} | |
needs: [build] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: ['16.x'] | |
example: ['cra4', 'cra5', 'next', 'vite', 'node-standard', 'node-esm'] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Use node ${{ matrix.node }} | |
uses: actions/setup-node@v3.8.1 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: 'yarn' | |
- name: Clone RTK repo | |
run: git clone https://github.com/reduxjs/redux-toolkit.git ./redux-toolkit | |
- name: Check folder contents | |
run: ls -l . | |
# Some weird install diffs with cloning this repo and installing. | |
# Just kill the lockfiles for React-Redux and RTK and reinstall | |
- name: Remove React-Redux lockfile | |
run: rm yarn.lock && rm package.json | |
- name: Remove RTK lockfile | |
working-directory: ./redux-toolkit | |
run: rm yarn.lock && rm package.json | |
- name: Install deps | |
working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} | |
run: rm yarn.lock && YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install | |
- name: Install Playwright browser if necessary | |
working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} | |
continue-on-error: true | |
run: yarn playwright install | |
- uses: actions/download-artifact@v2 | |
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 react-redux && yarn why react-redux | |
- name: Build example | |
working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} | |
run: yarn build | |
- name: Run test step | |
working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} | |
run: yarn test | |
test-published-artifact-local: | |
name: Test Published Artifact (Local) ${{ matrix.example }} | |
needs: [build] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: ['16.x'] | |
example: ['rr-rsc-context'] | |
defaults: | |
run: | |
working-directory: ./examples/publish-ci/${{ matrix.example }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Use node ${{ matrix.node }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: 'yarn' | |
- name: Install deps | |
run: yarn install | |
- name: Remove existing React-Redux | |
run: yarn remove react-redux | |
- uses: actions/download-artifact@v3 | |
with: | |
name: package | |
path: ./examples/publish-ci/${{ matrix.example }} | |
- name: Check folder contents | |
run: ls -l . | |
- name: Install build artifact | |
run: yarn add ./package.tgz | |
- name: Show installed React-Redux versions | |
run: yarn info react-redux && yarn why react-redux | |
- name: Build example | |
run: yarn build |