This plugin manages Tool Kit commands that are run from CircleCI workflows, via a Tool Kit Hook
that automatically manages .circleci/config.yml
. It also exposes state from the CircleCI environment for other plugins to consume generically.
This plugin will be installed as a dependency of the frontend-app, backend-heroku-app, component, circleci-deploy, and circleci-npm plugins so you do not need to install it separately if you are using any of those plugins.
Install @dotcom-tool-kit/circleci
as a devDependency
in your app:
npm install --save-dev @dotcom-tool-kit/circleci
Add the plugin to your Tool Kit configuration:
plugins:
- '@dotcom-tool-kit/circleci'
And install this plugin's hooks:
npx dotcom-tool-kit --install
This hook automatically manages .circleci/config.yml
in your repo to provide configuration for CircleCI workflows to run Tool Kit commands and tasks.
Options provided in your repository's .toolkitrc.yml
for this hook are merged with any Tool Kit plugin that also provides options for the hook.
Unless they conflict, your options are appended to options from plugins, allowing you to define custom CircleCI jobs and workflows in your repository that work alongside those from plugins.
Property | Description | Type |
---|---|---|
executors |
an array of additional CircleCI executors to output in the generated config. |
Array of objects:
|
jobs |
an array of additional CircleCI jobs to output in the generated config. these are used for running Tool Kit commands. for running arbitrary shell commands, use custom . |
Array of objects:
|
workflows |
an array of additional CircleCI workflows to output in the generated config. these reference jobs defined in the jobs option. |
Array of objects:
|
custom |
arbitrary additional CircleCI configuration that will be merged into the Tool Kit-generated config. |
Object with dynamic keys of type string and values of type unknown (optional & nullable) |
disableBaseConfig |
set to true to omit the Tool Kit CircleCI boilerplate. should be used along with custom to provide your own boilerplate. |
boolean |
All properties are optional.
Property | Description | Type | Default |
---|---|---|---|
cimgNodeVersions |
list of CircleCI Node.js image versions to use. if more than one is provided, a matrix build will be generated in your CircleCI config. | Array<string> |
["18.19-browsers"] |
cypressImage |
the Cypress docker image to use. see https://github.com/cypress-io/cypress-docker-images for available images and tags. if this option is present, and you're using the circleci-deploy plugin, this will override the default node executor for the e2e-test-review and e2e-test-staging jobs. |
string |
|
tagFilterRegex |
the regular expression used to match tags for jobs that should run on tag workflows. by default, matches tags that look like v1.2.3 ; if your releases use a different tag format, change this option to match your tags. |
string |
'/^v\d+\.\d+\.\d+(-.+)?/' |
All properties are optional.