From a2763867d43521d4f91502fdf95bda22539fb2e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Quixada=CC=81?= Date: Sat, 29 Apr 2023 14:03:27 -0400 Subject: [PATCH] refactor: separate CI jobs for node and browser tests --- .github/workflows/checks.yml | 22 +++++++++++++++++++--- Makefile | 28 +++++++++++++++++----------- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 173f4c6..2966abe 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -3,8 +3,8 @@ name: Checks on: [workflow_call] jobs: - test: - name: Test specs + test-node: + name: Node Test Specs runs-on: ubuntu-latest strategy: fail-fast: false @@ -22,7 +22,23 @@ jobs: with: node-version: ${{ matrix.node-version }} - run: npm install --prefer-offline - - run: make test + - run: make test-node + + test-browser: + name: Browser Test Specs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/cache@v3 + with: + path: ~/.npm # this is cache where npm installs from before going out to the network + key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - run: npm install --prefer-offline + - run: make test-browser lint: name: Code Lint diff --git a/Makefile b/Makefile index ef7dfdd..051a704 100644 --- a/Makefile +++ b/Makefile @@ -41,13 +41,26 @@ secure: @echo "=> make $@" @npx snyk test -test: compile test-fetch test-module +## +# Test groups -test-fetch: \ +test: compile test-browser test-node + +test-browser: \ test-fetch-browser-native \ test-fetch-browser-whatwg \ + test-module-web-cjs \ + test-module-web-esm \ + test-module-react-native + +test-node: \ test-fetch-node-native \ - test-fetch-node-fetch + test-fetch-node-fetch \ + test-module-node-cjs \ + test-module-node-esm + +## +# Test units test-fetch-browser-native: build @echo "" @@ -69,13 +82,6 @@ test-fetch-node-fetch: build @echo "=> make $@" @./test/fetch-api/node-fetch/run.sh -test-module: \ - test-module-web-cjs \ - test-module-web-esm \ - test-module-node-cjs \ - test-module-node-esm \ - test-module-react-native - test-module-web-cjs: build @echo "" @echo "=> make $@" @@ -106,4 +112,4 @@ typecheck: @echo "=> make $@" @npx tsc --lib ES6 --noEmit index.d.ts ./test/fetch-api/api.spec.ts -.PHONY: all build deploy lint test test-fetch test-fetch-browser-native test-fetch-browser-whatwg test-fetch-node-native test-fetch-node-fetch test-module test-module-web-cjs test-module-web-esm test-module-node-cjs test-module-node-esm test-module-react-native typecheck +.PHONY: all build deploy lint test test-fetch test-browser test-node test-fetch-browser-native test-fetch-browser-whatwg test-fetch-node-native test-fetch-node-fetch test-module test-module-web-cjs test-module-web-esm test-module-node-cjs test-module-node-esm test-module-react-native typecheck