diff --git a/.circleci/config.yml b/.circleci/config.yml index 5a5cab6c4..af565aa33 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,43 +1,40 @@ # Use the latest 2.1 version of CircleCI pipeline process engine. # See: https://circleci.com/docs/configuration-reference -# For a detailed guide to building and testing with Go, read the docs: -# https://circleci.com/docs/language-go/ for more details +# For a detailed guide to building and testing with Node, read the docs: +# https://circleci.com/docs/language-javascript/ for more details version: 2.1 -# Define a job to be invoked later in a workflow. -# See: https://circleci.com/docs/jobs-steps/#jobs-overview & https://circleci.com/docs/configuration-reference/#jobs +# Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects. +# See: https://circleci.com/docs/orb-intro/ +orbs: + # See the Node orb documentation here: https://circleci.com/developer/orbs/orb/circleci/node + node: circleci/node@5.2 + jobs: - build: + # Below is the definition of your job to build and test your app, you can rename and customize it as you want. + build-and-test: # Specify the execution environment. You can specify an image from Docker Hub or use one of our convenience images from CircleCI's Developer Hub. # See: https://circleci.com/docs/executor-intro/ & https://circleci.com/docs/configuration-reference/#executor-job docker: # Specify the version you desire here - # See: https://circleci.com/developer/images/image/cimg/go - - image: cimg/go:1.21 + # See: https://circleci.com/developer/images/image/cimg/node + - image: cimg/node:16.10 # Add steps to the job # See: https://circleci.com/docs/jobs-steps/#steps-overview & https://circleci.com/docs/configuration-reference/#steps steps: # Checkout the code as the first step. - checkout - - restore_cache: - keys: - - go-mod-v4-{{ checksum "go.sum" }} - - run: - name: Install Dependencies - command: go mod download - - save_cache: - key: go-mod-v4-{{ checksum "go.sum" }} - paths: - - "/go/pkg/mod" + + # The node orb's install-packages step will install the dependencies from a package.json. + # The orb install-packages step will also automatically cache them for faster future runs. + - node/install-packages: + # If you are using yarn, change the line below from "npm" to "yarn" + pkg-manager: npm - run: name: Run tests - command: | - mkdir -p /tmp/test-reports - gotestsum --junitfile /tmp/test-reports/unit-tests.xml - - store_test_results: - path: /tmp/test-reports + command: npm test # Orchestrate jobs using workflows # See: https://circleci.com/docs/workflows/ & https://circleci.com/docs/configuration-reference/#workflows @@ -45,4 +42,6 @@ workflows: sample: # This is the name of the workflow, feel free to change it to better match your workflow. # Inside the workflow, you define the jobs you want to run. jobs: - - build \ No newline at end of file + - build-and-test + # For running simple node tests, you could optionally use the node/test job from the orb to replicate and replace the job above in fewer lines. + # - node/test \ No newline at end of file