@dotcom-tool-kit/circleci

7.2.0 • Public • Published

@dotcom-tool-kit/circleci

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.

Installation

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

Hooks

CircleCi

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.

Hook options

Property Description Type
executors an array of additional CircleCI executors to output in the generated config. Array of objects:
  • name: string
  • image: string
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:
  • name: string
  • command: string
workflows an array of additional CircleCI workflows to output in the generated config. these reference jobs defined in the jobs option. Array of objects:
  • name: string
  • jobs: Array of objects:
    • name: string
    • requires: Array<string>
    • splitIntoMatrix: boolean
    • runOnRelease: boolean
    • custom: Object with dynamic keys of type string and values of type unknown (optional & nullable)
  • runOnRelease: boolean
  • custom: Object with dynamic keys of type string and values of type unknown (optional & nullable)
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.

Plugin-wide options

@dotcom-tool-kit/circleci

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @dotcom-tool-kit/circleci

Weekly Downloads

528

Version

7.2.0

License

ISC

Unpacked Size

36.5 kB

Total Files

9

Last publish

Collaborators

  • quarterto
  • the-ft
  • robertboulton