Skip to content

Commit

Permalink
ci: update CI to run tests for v18,v20,v22
Browse files Browse the repository at this point in the history
fix: matrix on tests only

chore: no parallelism

ci: add node version 22
  • Loading branch information
doc-han committed Dec 13, 2024
1 parent f857884 commit 33f777d
Showing 1 changed file with 17 additions and 42 deletions.
59 changes: 17 additions & 42 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,8 @@ jobs:
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
docker:
- image: cimg/node:<< parameters.node_version >>
- image: cimg/node:18.18
resource_class: medium
parameters:
node_version:
type: string
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
Expand All @@ -23,78 +20,67 @@ jobs:
# See the configuration reference documentation for more details on using restore_cache and save_cache steps
# https://circleci.com/docs/2.0/configuration-reference/?section=reference#save_cache
keys:
- deps-v1-{{ .Branch }}-{{checksum "pnpm-lock.yaml"}}-<< parameters.node_version >>
- deps-v1-{{ .Branch }}-{{checksum "pnpm-lock.yaml"}}
- run:
name: Install
command: pnpm install --frozen-lockfile
- save_cache:
key: deps-v1-{{ .Branch }}-{{checksum "pnpm-lock.yaml"}}-<< parameters.node_version >>
key: deps-v1-{{ .Branch }}-{{checksum "pnpm-lock.yaml"}}
paths:
- node_modules
- run:
name: Ensure workspace exists
command: mkdir -p -m 777 ~/project-<< parameters.node_version >>
- persist_to_workspace:
root: ~/project-<< parameters.node_version >>
root: ~/project
paths:
- .

build:
docker:
- image: cimg/node:<< parameters.node_version >>
- image: cimg/node:18.18
resource_class: medium
parameters:
node_version:
type: string
steps:
- attach_workspace:
at: ~/project-<< parameters.node_version >>
at: ~/project
- run:
name: Build packages
command: pnpm build
- persist_to_workspace:
root: ~/project-<< parameters.node_version >>
root: ~/project
paths:
- .

unit_test:
docker:
- image: cimg/node:<< parameters.node_version >>
resource_class: medium
parallelism: 1
parameters:
node_version:
type: string
steps:
- attach_workspace:
at: ~/project-<< parameters.node_version >>
at: ~/project
- run:
name: Run Tests
command: pnpm test

format:
docker:
- image: cimg/node:<< parameters.node_version >>
- image: cimg/node:18.18
resource_class: medium
parameters:
node_version:
type: string
steps:
- attach_workspace:
at: ~/project-<< parameters.node_version >>
at: ~/project
- run:
name: Check formatting
command: pnpm test:format

type_check:
docker:
- image: cimg/node:<< parameters.node_version >>
- image: cimg/node:18.18
resource_class: medium
parameters:
node_version:
type: string
steps:
- attach_workspace:
at: ~/project-<< parameters.node_version >>
at: ~/project
- run:
name: Type check
command: pnpm test:types
Expand All @@ -103,12 +89,13 @@ jobs:
docker:
- image: cimg/node:<< parameters.node_version >>
resource_class: medium
parallelism: 1
parameters:
node_version:
type: string
steps:
- attach_workspace:
at: ~/project-<< parameters.node_version >>
at: ~/project
- run:
name: Build local tarballs
command: pnpm pack:local dist --no-version
Expand All @@ -128,40 +115,28 @@ workflows:
build_and_test:
jobs:
- install:
matrix:
parameters:
node_version: ["18.18", "20.12"]
filters:
branches:
ignore:
- main
- build:
matrix:
parameters:
node_version: ["18.18", "20.12"]
requires:
- install
- unit_test:
matrix:
parameters:
node_version: ["18.18", "20.12"]
node_version: ["18.18", "20.12", "22.12"]
requires:
- build
- type_check:
matrix:
parameters:
node_version: ["18.18", "20.12"]
requires:
- build
- format:
matrix:
parameters:
node_version: ["18.18", "20.12"]
requires:
- build
- integration_test:
matrix:
parameters:
node_version: ["18.18", "20.12"]
node_version: ["18.18", "20.12", "22.12"]
requires:
- build

0 comments on commit 33f777d

Please sign in to comment.