name: Dev on: push: branches: - master - patch-release pull_request: jobs: test: strategy: fail-fast: false matrix: os: - "ubuntu-latest" - "macos-latest" - "windows-latest" node: - "14" - "12" - "10" include: # only enable coverage on the fastest job - os: "ubuntu-latest" node: "14" ENABLE_CODE_COVERAGE: true exclude: - os: "macos-latest" node: "12" - os: "windows-latest" node: "12" env: ENABLE_CODE_COVERAGE: ${{ matrix.ENABLE_CODE_COVERAGE }} name: Node.js ${{ matrix.node }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v2.3.1 with: fetch-depth: 1 - name: Setup Node.js uses: actions/setup-node@v2.1.1 with: node-version: ${{ matrix.node }} - name: Install Dependencies run: yarn install --frozen-lockfile # TODO: remove this task when/if this fixed # https://github.com/facebook/jest/issues/9457 - name: Install jest@24 if: matrix.ENABLE_CODE_COVERAGE run: yarn upgrade jest@24 - name: Run Tests (macOS) if: matrix.os == 'macos-latest' run: yarn test --maxWorkers=4 - name: Run Tests (Linux and Windows) if: matrix.os != 'macos-latest' run: yarn test --maxWorkers=2 - name: Upload Coverage uses: codecov/codecov-action@v1.0.12 if: matrix.ENABLE_CODE_COVERAGE with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage/lcov.info fail_ci_if_error: true # #8073 test - name: Run Tests (PRETTIER_FALLBACK_RESOLVE) run: yarn test "tests_integration/__tests__/(config|plugin)" env: PRETTIER_FALLBACK_RESOLVE: true - name: Upload Coverage (PRETTIER_FALLBACK_RESOLVE) uses: codecov/codecov-action@v1.0.12 if: matrix.ENABLE_CODE_COVERAGE with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage/lcov.info fail_ci_if_error: true