.circleci/config.yml configuration for multiple Node jobs
This example is a minimal configuration for semantic-release with tests running against Node 16 and 14. See CircleCI documentation for additional configuration options.
In this example, the circleci/node orb is imported (Which makes some node operations easier), then a release job is defined which will run semantic-release.
To run our release job, we have created a workflow named test_and_release which will run two jobs, node/test, which comes from the node orb and will test our application, and our release job. Here, we are actually making use of matrix jobs so that our single node/test job will actually be executed twice, once for Node version 16, and once for version 14. Finally, we call our release job with a requires parameter so that release will run against the latest LTS version of node, only after node/test has successfully tested against v14 and v16.
version:2.1orbs:node:circleci/node@5.0.0jobs:release:executor:node/defaultsteps:-checkout-node/install-packages# Install and automatically cache packages # Run optional required steps before releasing # - run: npm run build-script-run:npx semantic-releaseworkflows:test_and_release: # Run the test jobs first, then the release only when all the test jobs are successfuljobs:-node/test:matrix:parameters:version:-16.1.0-14.17.0-release:requires:-node/test