Add .circleci/config.yml

pull/31010/head
BoomchainLabs 3 months ago
parent 49ed8be5cb
commit 3a827d7ff3

@ -1,43 +1,40 @@
# Use the latest 2.1 version of CircleCI pipeline process engine. # Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/configuration-reference # See: https://circleci.com/docs/configuration-reference
# For a detailed guide to building and testing with Go, read the docs: # For a detailed guide to building and testing with Node, read the docs:
# https://circleci.com/docs/language-go/ for more details # https://circleci.com/docs/language-javascript/ for more details
version: 2.1 version: 2.1
# Define a job to be invoked later in a workflow. # 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/jobs-steps/#jobs-overview & https://circleci.com/docs/configuration-reference/#jobs # 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: 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. # 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 # See: https://circleci.com/docs/executor-intro/ & https://circleci.com/docs/configuration-reference/#executor-job
docker: docker:
# Specify the version you desire here # Specify the version you desire here
# See: https://circleci.com/developer/images/image/cimg/go # See: https://circleci.com/developer/images/image/cimg/node
- image: cimg/go:1.21 - image: cimg/node:16.10
# Add steps to the job # Add steps to the job
# See: https://circleci.com/docs/jobs-steps/#steps-overview & https://circleci.com/docs/configuration-reference/#steps # See: https://circleci.com/docs/jobs-steps/#steps-overview & https://circleci.com/docs/configuration-reference/#steps
steps: steps:
# Checkout the code as the first step. # Checkout the code as the first step.
- checkout - checkout
- restore_cache:
keys: # The node orb's install-packages step will install the dependencies from a package.json.
- go-mod-v4-{{ checksum "go.sum" }} # The orb install-packages step will also automatically cache them for faster future runs.
- run: - node/install-packages:
name: Install Dependencies # If you are using yarn, change the line below from "npm" to "yarn"
command: go mod download pkg-manager: npm
- save_cache:
key: go-mod-v4-{{ checksum "go.sum" }}
paths:
- "/go/pkg/mod"
- run: - run:
name: Run tests name: Run tests
command: | command: npm test
mkdir -p /tmp/test-reports
gotestsum --junitfile /tmp/test-reports/unit-tests.xml
- store_test_results:
path: /tmp/test-reports
# Orchestrate jobs using workflows # Orchestrate jobs using workflows
# See: https://circleci.com/docs/workflows/ & https://circleci.com/docs/configuration-reference/#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. 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. # Inside the workflow, you define the jobs you want to run.
jobs: jobs:
- build - 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
Loading…
Cancel
Save