> For the complete CircleCI developer hub index, see [llms.txt](https://circleci.com/developer/llms.txt)

# voiceflow/common

Voiceflow's common CI/CD orb

## Commands

### add_ip_to_security_group

| Parameter | Type | Default | Description |
|---|---|---|---|
| `execute_when` | string | on_success | When execute this command |
| `sg_id` | string |  | Id of the security group |

### analyze_dependencies

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `run_in_backgorund` | boolean | false | run the command in background |
| `step_name` | string | Analyze dependencies | Name of the step |
| `working_directory` | string | ./ | Directory containing package.json |

### authenticate_npm

| Parameter | Type | Default | Description |
|---|---|---|---|
| `run_in_background` | boolean | false | run the command in background |
| `working_directory` | string | ./ | Directory containing package.json |

### authenticate_poetry

| Parameter | Type | Default | Description |
|---|---|---|---|
| `run_in_background` | boolean | false | run the command in background |
| `working_directory` | string | ./ | Directory containing pyproject.toml |

### build

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `container_image_to_build` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | Container image to run the build |
| `extra_args` | string |  | Additional yarn command options |
| `package` | string |  | Container folder to copy after the execution |
| `package_folder` | string | packages | Package folder |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Build | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### build_push_image

| Parameter | Type | Default | Description |
|---|---|---|---|
| `build_context` | string | . | Path to the context for the docker build |
| `checkout` | boolean | true | Determines if a checkout will be executed or not |
| `dockerfile` | string | Dockerfile | Name of the Dockerfile to build |
| `force_execute` | boolean | false | [DEPRECATED] no effect, kept for backward compatibility |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `inject_aws_credentials` | boolean | false | Inject AWS credentials into the build |
| `kms_key` | string | awskms:///2e64fa98-d1b0-491a-acf6-1f5fc6f94ecf | KMS Key to sign the containers |
| `local_registry_container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | container image to run verdaccio |
| `monorepo_directory` | string |  | the root directory of monorepo, uses a local registry to pre-release package versions |
| `package` | string |  | The monorepo package that has been changed |
| `package_folder` | string | packages | The monorepo package that has been changed |
| `request_remote_docker` | boolean | true | Add the option to request a new remote docker, set to false when you concat docker jobs |
| `sem_ver_override` | string |  | Semantic release version of the package |
| `use_tag_versioning` | boolean | true | Use tag versioning to tag the image |

### buildx_cleanup

| Parameter | Type | Default | Description |
|---|---|---|---|
| `builder` | string |  | Buildx builder name
Consider this the key for CircleCI DLC
 |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `target` | string |  | Dockerfile stage to build |

### check_commit_message

| Parameter | Type | Default | Description |
|---|---|---|---|
| `commit_message` | string |  | Commit message to check |
| `match_env_var` | env_var_name | COMMIT_MESSAGE_MATCH | Environment variable to set with the result of the match |
| `should_halt` | boolean | true | Whether to halt the job if the commit message does not match |

### check_env_var_exists

Check if an environment variable exists

| Parameter | Type | Default | Description |
|---|---|---|---|
| `env_var` | env_var_name |  | Environment variable to check |

### check_image_exists

Check if a Docker image exists

| Parameter | Type | Default | Description |
|---|---|---|---|
| `image_repo` | string |  | The container image repository |
| `request_remote_docker` | boolean | true | Add the option to request a new remote docker, set to false when you concat docker jobs |

### check_track_exists

Check if a track  exists

| Parameter | Type | Default | Description |
|---|---|---|---|
| `bucket` | string | com.voiceflow.ci.assets | The container image repository |
| `component` | string |  | The container image repository |
| `stop_if_not_exists` | boolean | false | Stop if the bucket does not exists |

### checkout_clone

| Parameter | Type | Default | Description |
|---|---|---|---|
| `clone_type` | string | shallow | type of clone to perform [shallow, treeless] |
| `github_branch` | env_var_name | CIRCLE_BRANCH | git branch for the repo provided |
| `github_repo_name` | env_var_name | CIRCLE_PROJECT_REPONAME | github repo name |
| `github_tag` | env_var_name | CIRCLE_TAG | git tag for the repo provided |
| `github_token` | env_var_name | GITHUB_TOKEN | token for cloning git repositories |
| `github_username` | env_var_name | GITHUB_USERNAME | username for cloning git repositories |
| `path_to_clone` | string | . | Path to clone the github repo |
| `run_in_background` | boolean | false | run the command in background |

### clone_repo

| Parameter | Type | Default | Description |
|---|---|---|---|
| `github_commit` | string |  | git commit hash for the repo provided |
| `github_repo_name` | string |  | github repo name |
| `github_token` | env_var_name | GITHUB_TOKEN | token for cloning git repositories |
| `github_username` | env_var_name | GITHUB_USERNAME | username for cloning git repositories |
| `path_to_clone` | string | ./ | Path to clone the github repo |
| `run_in_background` | boolean | false | run the command in background |
| `step_name` | string | Clone git repository | Name of the step |

### clone_s3_assets

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_control` | string |  | Cache control header value |
| `clean_destination` | boolean | false | Clean destination |
| `from` | string |  | S3 URL |
| `step_name` | string | Clone S3 assets | Name of the step |
| `to` | string |  | Path to clone S3 assets |

### compute_base_revision

| Parameter | Type | Default | Description |
|---|---|---|---|
| `base_revision` | string | master | Git revision to compare against |
| `git_branch` | string | master | Current git branch |
| `target_env_var` | env_var_name | COMPUTED_BASE_REVISION | Environment variable to set with the list of changed files |

### copy_s3_asset

| Parameter | Type | Default | Description |
|---|---|---|---|
| `from` | string |  | S3 URL |
| `step_name` | string | Copy S3 asset | Name of the step |
| `to` | string |  | Path to copy S3 asset |

### create_commit_status

| Parameter | Type | Default | Description |
|---|---|---|---|
| `check-name` | string |  | Name of the job to skip |
| `description` | string |  | Text that shows in GH checks |
| `status` | enum |  | Status of check |

### delete_branch

| Parameter | Type | Default | Description |
|---|---|---|---|
| `branch_name` | string |  | Name of the branch to delete |
| `ssh_key` | string |  | The SSH key with write permissions to the repository |
| `step_name` | string | Delete branch | Name of the step |

### dependency_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Dependency tests | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### docker_login

### docker_prune

| Parameter | Type | Default | Description |
|---|---|---|---|
| `clean_images` | boolean | true | Whether to prune images |
| `clean_volumes` | boolean | true | Whether to prune volumes |
| `when` | string | on_success | When to execute pruning (`always`, `on_success`, `on_fail`) |

### docker_run_networked

| Parameter | Type | Default | Description |
|---|---|---|---|
| `command` | string | yarn test:integration | Command to run in docker container |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `platforms` | string | linux/amd64 | Platform to build against |
| `post_steps` | steps |  | post steps |
| `pre_steps` | steps |  | pre steps |

### gen_certs

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Generate certificates | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### gen_certs_e2e

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Generate certificates for e2e tests | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### generate-track-mapping

Generate component-track mapping file for provisioning an environment
with the correct components for e2e


| Parameter | Type | Default | Description |
|---|---|---|---|
| `components` | string |  | Space-separated list of components to include in the track-mapping file |
| `track` | string |  | Track to use for the components |
| `track-file` | string | tracks.yaml | Path to the track-mapping file to use |

### get_changed_files

| Parameter | Type | Default | Description |
|---|---|---|---|
| `target_file` | string | /tmp/changed_files.txt | Absolute path to write the list of changed files to. Absolute so it survives consumers that set a custom working_directory (e.g. helm). |

### hadolint_presteps

Install git and setup for treeless shallow clone before hadolint


| Parameter | Type | Default | Description |
|---|---|---|---|
| `ssh_fingerprint` | string |  | SSH Key |

### helm-add-repos

Add voiceflow Helm repos

### helm-get-modified-charts

| Parameter | Type | Default | Description |
|---|---|---|---|
| `chart_directory` | string | . | Directory containing the charts |
| `modified_charts_env_var` | env_var_name | MODIFIED_CHARTS | Environment variable to set with the list of modified charts |

### install-vfcli

Uses curl to install the specified version of vfcli

| Parameter | Type | Default | Description |
|---|---|---|---|
| `arch` | string | amd64 | Architecture to install vfcli for |
| `init-cluster` | string |  | Cluster to initialize vfcli with |
| `os` | string | linux | Operating system to install vfcli for |
| `version` | string | latest | Version of vfcli to install |

### install_latest_hadolint

### install_node_modules

| Parameter | Type | Default | Description |
|---|---|---|---|
| `avoid_post_install_scripts` | boolean | true | Skip running post install scripts |
| `cache_prefix` | string |  | Cache prefix |
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | Container image to run the yarn command |
| `install_args` | string |  | Additional yarn install command options |
| `language` | string | node | language to execute |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | Run yarn install in background mode |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Install node modules | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |
| `yarn_lock_restore_cache_directory` | string | ./ | Cache directory for yarn.lock file |

### install_python_modules

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_prefix` | string |  | Cache prefix |
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `install_args` | string |  | Additional poetry install command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | Run poetry install in background mode |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Install node modules | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### integration_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Integration Tests | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### invalidate_cloudfront_distribution

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cloudfront_distribution_id` | string |  | AWS Cloudfront Distribution ID |
| `paths` | string |  | Paths to invalidate |
| `step_name` | string | Invalidate Cloudfront Distribution | Name of the step |

### lint_dockerfile

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Lint dockerfiles | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### lint_report

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Generate Lint report | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### lint_source

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Lint source | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### monorepo_analyze_dependencies

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string | Analyze dependencies | Name of the step |

### monorepo_build

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string | Build | Name of the step |

### monorepo_dependency_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string | Dependency tests | Name of the step |

### monorepo_exec_command

execute commands

| Parameter | Type | Default | Description |
|---|---|---|---|
| `command` | string |  | command to execute |
| `extra_args` | string |  | command to execute |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string |  | Description to run |

### monorepo_exec_command_when_package_changed

execute commands

| Parameter | Type | Default | Description |
|---|---|---|---|
| `command` | string |  | command to execute |
| `extra_parameters` | string |  | command to execute |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `package_folder` | string | packages | Package folder |
| `package_to_force_execution` | string |  | Package to force execution |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string |  | Description to run |

### monorepo_integration_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `command` | string | yarn test:integration | Command to run |
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string | Integration Tests | Name of the step |

### monorepo_lint_dockerfile

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string | Lint Dockerfile | Name of the step |

### monorepo_lint_report

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string | Generate Lint report | Name of the step |

### monorepo_publish_to_local_registry

Publish all packages in monorepo to a local NPM registry

| Parameter | Type | Default | Description |
|---|---|---|---|
| `working_directory` | string | ./ | root directory of the monorepo |

### monorepo_restore_cache

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_branch` | string |  | Branch name to use for caching |
| `cache_identifier` | string | monorepo-build-cache | Cache prefix id |
| `monorepo_engine` | string | lerna | Monorepo engine |
| `package` | string |  | Package name |
| `package_folder` | string | packages | Package folder |

### monorepo_save_cache

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_branch` | string |  | Branch name to use for caching |
| `cache_identifier` | string | monorepo-build-cache | Cache prefix id |
| `monorepo_engine` | string | lerna | Monorepo engine |
| `package` | string |  | Package name |
| `package_folder` | string | packages | Package folder |
| `paths_to_cache` | string | {build,*.tsbuildinfo} | Paths to cache |

### monorepo_types_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Set to `true` to run the command  on root |
| `step_name` | string | Types Tests | Name of the step |

### monorepo_unit_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `step_name` | string | Unit Tests | Name of the step |

### notify_slack

Notify build status on Slack Channel

| Parameter | Type | Default | Description |
|---|---|---|---|
| `branch_pattern` | string | .* | Branch pattern to allow the notification to be sent |
| `channel` | string |  | The Slack Channel where we receive the notification |
| `event` | enum |  | event when the notify is triggered |
| `mentions` | string |  | Mention on the slack channel |
| `template` | string |  | Slack Message template |

### openapi_persist_schemas

| Parameter | Type | Default | Description |
|---|---|---|---|
| `app_dir` | string | apps | Sub-folder containing the application schemas in named folders |
| `schema_name` | string | openapi.json | Name of the schema files to persist |
| `workspace_dir` | string |  | The location to persist schemas to |

### openapi_restore_schemas

| Parameter | Type | Default | Description |
|---|---|---|---|
| `app_dir` | string | apps | Sub-folder containing the application schemas in named folders |
| `attach_workspace` | boolean | false | Attach the workspace to restore schemas from a previous step |
| `from` | string |  | The location to restore schemas from |
| `schema_name` | string | openapi.json | Name of the schema files to restore |
| `to` | string |  | The location to restore schemas to |

### persist_node_build

| Parameter | Type | Default | Description |
|---|---|---|---|
| `package` | string |  | Package name |
| `package_folder` | string | packages | Package folder |

### persist_python_build

| Parameter | Type | Default | Description |
|---|---|---|---|
| `package` | string |  | Package name |
| `package_folder` | string | packages | Package folder |

### post_image_push_actions

Deploy an image into a K8s cluster

| Parameter | Type | Default | Description |
|---|---|---|---|
| `component` | string |  | The component name that has changed |
| `force_execute` | boolean | false | [DEPRECATED] no effect, kept for backward compatibility |
| `namespace` | string |  | The namespace the target resides in |
| `package` | string |  | The monorepo package that has been changed |
| `package_folder` | string | packages | The monorepo package that has been changed |
| `sentry` | boolean | false | Report deployment to sentry |
| `ssh_key` | string | 4c:f6:5f:e5:7a:e9:b4:03:91:6a:93:e5:0e:60:c2:a6 | The SSH key with write permissions to the repository |
| `success_slack_notify` | boolean | true | Post to Slack on successful deployment? |
| `tagged` | boolean | false | Running on a git tag? |

### promote_production

Promote master to production

| Parameter | Type | Default | Description |
|---|---|---|---|
| `image_registry` | string |  | The container image repository |
| `modifiedComponentNames` | string |  | Space-delimited string of modified service names |

### remove_ip_to_security_group

| Parameter | Type | Default | Description |
|---|---|---|---|
| `execute_when` | string | on_success | When execute this command |
| `sg_id` | string |  | Id of the security group |

### run_command_with_retry

Run command with retry

| Parameter | Type | Default | Description |
|---|---|---|---|
| `background` | boolean | false | Run it in background |
| `command` | string |  | Command to run |
| `retry-count` | integer | 3 | Number of retries |
| `sleep` | integer | 5 | Wait duration until next retry |
| `step_name` | string | Executing Command with retry policy | Name of the Step |
| `working_directory` | string | ./ | Directory to work on |

### serverless_deploy

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `environment` | string | dev | environment where to deploy the serverless application |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Deploy application | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### set-beta-version

| Parameter | Type | Default | Description |
|---|---|---|---|
| `target_env_var` | env_var_name | BETA_VERSION | Environment variable to set with the beta version for this commit |
| `working_directory` | string | . | Directory of git repo |

### set-env-name

| Parameter | Type | Default | Description |
|---|---|---|---|
| `target_env_var` | env_var_name | ENV_NAME | Environment variable to set with the environment name for this commit |
| `working_directory` | string | . | Directory of git repo |

### set-if-file-changed

Set the given env var to true if a changed file matches one of the given patterns.
The `CHANGED_FILES_FILE` environment variable (a path to the changed-files list, set by the
`get_changed_files` command) must be set prior to running this command.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `file-patterns` | string |  | Space-separated list of file patterns to match against the changed files.
If a changed file matches one of these patterns, the given env var will be set to true.
 |
| `target-env-var` | env_var_name |  | Environment variable to set with the environment name for this commit |

### set-json-array

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value` | string |  | The value to set the field to, passed as a string-separated list.
If an item in the list contains a space, it must be enclosed in double quotes.
 |

### set-json-array-from-env

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value-env-var` | env_var_name |  | Environment variable containing the value to set the field to |

### set-json-boolean

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value` | boolean |  | The value to set the field to |

### set-json-boolean-from-env

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value-env-var` | env_var_name |  | Environment variable containing the value to set the field to |

### set-json-command

| Parameter | Type | Default | Description |
|---|---|---|---|
| `command` | string |  | The command to set the field to |
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |

### set-json-number

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value` | integer |  | The value to set the field to |

### set-json-number-from-env

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value-env-var` | env_var_name |  | Environment variable containing the value to set the field to |

### set-json-string

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value` | string |  | The value to set the field to |

### set-json-string-from-env

| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string |  | The field of the json file to set |
| `json-file` | string | values.json | The json file to set the field in |
| `value-env-var` | env_var_name |  | Environment variable containing the value to set the field to |

### set-pr-branch

| Parameter | Type | Default | Description |
|---|---|---|---|
| `pr_number_env_var` | env_var_name | PR_NUMBER | Environment variable to get the PR number from |
| `target_env_var` | env_var_name | PR_BRANCH | Environment variable to set with the branch name for the PR |
| `working_directory` | string | . | Directory of git repo |

### set-pr-number

| Parameter | Type | Default | Description |
|---|---|---|---|
| `target_env_var` | env_var_name | PR_NUMBER | Environment variable to set with the environment name for this commit |
| `working_directory` | string | . | Directory of git repo |

### set-service-data-json

Set the service metadata array in a json file.
The `CHANGED_FILES_FILE` environment variable (a path to the changed-files list, set by the
`get_changed_files` command) must be set prior to running this command.


| Parameter | Type | Default | Description |
|---|---|---|---|
| `field` | string | services | The field of the json file to set the service metadata array |
| `json-file` | string | values.json | The json file to set the field in |
| `service-directories` | string |  | List of directories containing services.
Each subdirectory of these directories containing a package.json file will be considered a service.
 |

### set_etc_hosts_e2e

| Parameter | Type | Default | Description |
|---|---|---|---|
| `run_in_background` | boolean | false | run the command in background |
| `step_name` | string | Set etc hosts | Name of the step |

### set_yarn_bash_default_shell

### setup_dynamodb

### setup_local_registry

Setup a local NPM registry

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | container image to run verdaccio |
| `verdaccio_config` | string |  | location of verdaccio configuration file |

### setup_mongodb

### setup_pg

### skip_while_draft

### smoke_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Smoke tests | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### staged_buildx

| Parameter | Type | Default | Description |
|---|---|---|---|
| `builder` | string |  | Buildx builder name
Consider this the key for CircleCI DLC
 |
| `dockerfile` | string | Dockerfile | Location of Dockerfile |
| `enable_cache_to` | boolean | false | use --cache-to flag to push cache artifact to remote registry |
| `extra_build_args` | string |  | build args |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `no_cache_filter` | string |  | Do not use cache for these stages |
| `output` | string |  | Buildx build --output flag |
| `package` | string |  | should probably be workspace |
| `platforms` | string | linux/amd64 | Platform to build against |
| `post_steps` | steps |  | post steps |
| `pre_steps` | steps |  | pre steps |
| `run_in_background` | boolean | false | Run in background |
| `target` | string |  | Dockerfile stage to build |

### start_e2e

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Start in e2e mode | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### start_ec2_instance

| Parameter | Type | Default | Description |
|---|---|---|---|
| `execute_when` | string | on_success | When execute this command |
| `instance_id` | string |  | Id of the EC2 instance |

### stop_ec2_instance

| Parameter | Type | Default | Description |
|---|---|---|---|
| `execute_when` | string | on_success | When execute this command |
| `instance_id` | string |  | Id of the EC2 instance |

### stress_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Stress Tests | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### sync_branches

| Parameter | Type | Default | Description |
|---|---|---|---|
| `check_commit_message` | string |  | The SSH key with write permissions to the repository |
| `checkout` | boolean | false | Checkout code |
| `destination_branch_name` | string | production | Name of the production branch |
| `source_branch_name` | string | master | Name of the source branch |
| `ssh_key` | string |  | The SSH key with write permissions to the repository |
| `step_name` | string | Sync 2 branches | Name of the step |

### tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Run all tests | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### trigger_tags_pipelines

Triggers the CircleCI pipeline for every tag in the provided list

| Parameter | Type | Default | Description |
|---|---|---|---|
| `published_tags` | env_var_name |  | Environment variable in which to store the list of tags to trigger |

### unit_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `extra_args` | string |  | Additional yarn command options |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `step_name` | string | Unit Tests | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |

### update_database_track

Update Database Track

| Parameter | Type | Default | Description |
|---|---|---|---|
| `bucket` | string | com.voiceflow.ci.assets | The container image repository |
| `build_context` | string | . | Path to the context for the docker build |
| `builder_name` | string |  | named builder for use with DLC |
| `check_track_exists` | boolean | true | checks if the track exists |
| `checkout` | boolean | true | Determines if a checkout will be executed or not |
| `component` | string |  | The component type for development environment deployment |
| `dockerfile` | string | Dockerfile | Name of the Dockerfile to build |
| `enable_cache_to` | boolean | false | use --cache-to flag to push cache artifact to remote registry |
| `enable_dlc` | boolean | false | enable docker layer cache |
| `enable_load` | boolean | false | Load image into local docker |
| `enable_push` | boolean | true | push the image to the registry |
| `force_execute` | boolean | false | force to update the build, if there is a change or not. |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `inject_aws_credentials` | boolean | false | Inject AWS credentials into the build |
| `kms_key` | string | awskms:///2e64fa98-d1b0-491a-acf6-1f5fc6f94ecf | KMS Key to sign the containers |
| `local_registry` | boolean | false | Use a local proxy registry to publish alpha version of all libraries in monorepo (must have a /config/verdaccio/config.yaml file) |
| `local_registry_container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | container image to run verdaccio |
| `node_version` | string |  | Node version |
| `package` | string |  | Monorepo package. |
| `package_folder` | string | packages | Package folder to check |
| `platform` | string | linux/amd64 | Platform to build the image |
| `remote_docker_version` | string | default | Linux/amd64 allows for specific versions to be set, while linux/arm64 only allows for either default and edge |
| `request_remote_docker` | boolean | true | Add the option to request a new remote docker, set to false when you concat docker jobs |
| `semantic_version` | string |  |  |

### update_track

Update Component Track

| Parameter | Type | Default | Description |
|---|---|---|---|
| `bucket` | string | com.voiceflow.ci.assets | The container image repository |
| `build_context` | string | . | Path to the context for the docker build |
| `builder_name` | string |  | named builder for use with DLC |
| `check_track_exists` | boolean | true | checks if the track exists |
| `checkout` | boolean | true | Determines if a checkout will be executed or not |
| `component` | string |  | The component type for development environment deployment |
| `disable_provenance` | boolean | false | disable provenance for image. necessary for lambda images |
| `dockerfile` | string | Dockerfile | Name of the Dockerfile to build |
| `enable_cache_to` | boolean | false | use --cache-to flag to push cache artifact to remote registry |
| `enable_dlc` | boolean | false | enable docker layer cache |
| `enable_load` | boolean | false | Load image into local docker |
| `enable_push` | boolean | true | push the image to the registry |
| `extra_build_args` | string |  | Arguments to pass while building the docker image |
| `force_execute` | boolean | false | force to update the build, if there is a change or not. |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `inject_aws_credentials` | boolean | false | Inject AWS credentials into the build |
| `kms_key` | string | awskms:///2e64fa98-d1b0-491a-acf6-1f5fc6f94ecf | KMS Key to sign the containers |
| `local_registry` | boolean | false | Use a local proxy registry to publish alpha version of all libraries in monorepo (must have a /config/verdaccio/config.yaml file) |
| `local_registry_container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | container image to run verdaccio |
| `package` | string |  | Monorepo package. |
| `package_folder` | string | packages | Package folder to check |
| `platform` | string | linux/amd64 | Platform to build the image |
| `remote_docker_version` | string | default | Linux/amd64 allows for specific versions to be set, while linux/arm64 only allows for either default and edge |
| `request_remote_docker` | boolean | true | Add the option to request a new remote docker, set to false when you concat docker jobs |
| `sem_ver_override` | string |  | Semantic release version of the package |
| `update_track_file` | boolean | true | Determines if the track file will be updated or not |

### vf_python_restore_cache

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_prefix` | string |  | Cache prefix |
| `working_directory` | string | ./ | Cache directory for poetry.lock file |

### vf_python_save_cache

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_prefix` | string |  | Cache prefix |
| `working_directory` | string | ./ | Directory containing package.json |

### vf_restore_cache

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_prefix` | string |  | Cache prefix |
| `yarn_lock_restore_cache_directory` | string | ./ | Cache directory for yarn.lock file |

### vf_save_cache

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_prefix` | string |  | Cache prefix |
| `working_directory` | string | ./ | Directory containing package.json |

### vfcli-create-or-get-free-env-from-pool

Uses vfcli to create a new environment (vfcli must already be installed)

| Parameter | Type | Default | Description |
|---|---|---|---|
| `env-name` | string |  | Name of the environment to create |
| `force` | boolean | false | Whether to force environment creation without checking for free environment |
| `lease` | string | 1h | Time to lease the environment for |
| `node-group` | string | e2e | Name of the node group to use |
| `pool-type` | string |  | Type of the pool to get the environment from |
| `track-file` | string |  | Path to the track-mapping file to use |

### vfcli-delete-or-release-env

Uses vfcli to delete an environment

| Parameter | Type | Default | Description |
|---|---|---|---|
| `env-name` | string |  | Name of the environment to create |
| `env-name-path` | string | /home/circleci/voiceflow/env_name.txt | Path to the env_name file |
| `force` | boolean | false | Whether to delete the environment forcefully |
| `reset-db` | boolean | false | Whether to reset the database |
| `when` | string | always | When to run this command |

### vfcli-fetch-endpoints

Uses vfcli fetch the specified component URLs from an environment and stores them in env vars

| Parameter | Type | Default | Description |
|---|---|---|---|
| `components` | string |  | Space-separated list of components to fetch |
| `env-name` | string |  | Name of the environment to create |
| `env-var-suffix` | string | _URL | Suffix to use for the environment variables (e.g. "CREATOR_APP_SUFFIX") |

### vfcli-resetdb-free-env

Uses vfcli to reset database and free an environment back into the pool

| Parameter | Type | Default | Description |
|---|---|---|---|
| `env-name` | string |  | Name of the environment to reset database and free back into the pool |

### vfcli-suspend-env

Uses vfcli to suspend an existing environment with a set of tracks (vfcli must already be installed)

| Parameter | Type | Default | Description |
|---|---|---|---|
| `env-name` | string |  | Name of the environment to prepare |
| `env-name-path` | string | /home/circleci/voiceflow/env_name.txt | Path to the env_name file |
| `track-file` | string |  | Path to the track-mapping file to use |

### yarn_command

| Parameter | Type | Default | Description |
|---|---|---|---|
| `container_folder_to_copy` | string |  | Container folder to copy after the execution |
| `container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | Container image to run the yarn command |
| `max_retries` | integer | 2 | Maximum number of retries |
| `monorepo_package` | string |  | Monorepo Package Name |
| `monorepo_package_folder` | string | packages | Package folder |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_in_background` | boolean | false | run the command in background |
| `run_in_container` | boolean | false | Run build in a container |
| `sleep_time` | integer | 5 | Time (in seconds) to sleep between retries |
| `step_name` | string | Deploy application | Name of the step |
| `wait` | boolean | false | wait until all the commands are finished |
| `working_directory` | string | ./ | Directory containing package.json |
| `yarn_command` | string |  | Yarn command to execute |

## Jobs

### build-e2e-tests

Clones the e2e tests repo and builds them

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_prefix` | string | build-e2e-tests | Cache prefix |
| `e2e_git_ref` | string | master | The git ref to checkout for the e2e tests |
| `e2e_repo_name` | string | creator-app | The name of the repo to clone |
| `persist_to_workspace` | boolean | true | Persist the e2e tests to the workspace |

### build_push_image

| Parameter | Type | Default | Description |
|---|---|---|---|
| `build_context` | string | . | Path to the context for the docker build |
| `dockerfile` | string | Dockerfile | Name of the Dockerfile to build |
| `force_execute` | boolean | false | force to notify, if there is a change or not. |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `inject_aws_credentials` | boolean | false | Inject AWS credentials into the build |
| `kms_key` | string | awskms:///2e64fa98-d1b0-491a-acf6-1f5fc6f94ecf | KMS Key to sign the containers |
| `local_registry_container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | container image to run verdaccio |
| `monorepo_directory` | string |  | the root directory of monorepo, uses a local registry to pre-release package versions |
| `package` | string |  | The monorepo package that has been changed |
| `package_folder` | string | packages | The monorepo package that has been changed |
| `sem_ver_override` | string |  | Semantic release version of the package |
| `use_tag_versioning` | boolean | true | Use tag versioning to tag the image |

### cdk-deploy

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | go-executor | Executor to use |

### cdk-go-deploy

### cdk-node-deploy

### check_env_var_exists

| Parameter | Type | Default | Description |
|---|---|---|---|
| `env_var` | env_var_name |  | Environment variable to check |

### check_track_exists

| Parameter | Type | Default | Description |
|---|---|---|---|
| `component` | string |  | Component to check if the track exists |
| `force_execute` | boolean | false | [DEPRECATED] no effect, kept for backward compatibility |
| `package` | string |  | Monorepo package. |
| `package_folder` | string | packages | Monorepo package |

### collect-e2e-logs

Prepare an existing environment for e2e tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cluster` | string | cm4-vf-dev-eu-0-p0 | Name of the cluster in which the environment exists |
| `e2e-env-name` | string |  | Name of the environment to collect logs from |
| `env-name-path` | string | /home/circleci/voiceflow/env_name.txt | Path to the env_name file |
| `executor` | executor | collector-executor | Executor to run the command on |
| `smoke-test-jobs` | string | vfcommon/run-smoke-tests | Comma separated list of smoke test jobs |

### create_commit_status

Create GH "Commit Status"

| Parameter | Type | Default | Description |
|---|---|---|---|
| `check-name` | string |  | Name of the job to skip |
| `description` | string |  | Text that shows in GH checks |
| `status` | enum |  | Status of check |

### create_manifest

| Parameter | Type | Default | Description |
|---|---|---|---|
| `bucket` | string | com.voiceflow.ci.assets | The container image repository |
| `check_track_exists` | boolean | true | checks if the track exists |
| `component` | string |  | The component type for development environment deployment |
| `image_repo` | string |  | repo |
| `image_tag` | string |  | tag |
| `kms_key` | string | awskms:///2e64fa98-d1b0-491a-acf6-1f5fc6f94ecf | KMS Key to sign the containers |

### generate_technical_documentation

| Parameter | Type | Default | Description |
|---|---|---|---|
| `step_name` | string | Generate technical documentation | Name of the step |

### helm-publish-charts

| Parameter | Type | Default | Description |
|---|---|---|---|
| `chart_directory` | string | . | Directory containining charts |
| `charts` | string |  | List of charts to publish |

### helm-publish-charts-dual

| Parameter | Type | Default | Description |
|---|---|---|---|
| `chart_directory` | string | . | Directory containing charts |
| `charts` | string |  | List of charts to publish |
| `prepublish_steps` | steps |  | Steps to run on repo before publishing charts |

### helm-publish-charts-ecr

| Parameter | Type | Default | Description |
|---|---|---|---|
| `chart_directory` | string | . | Directory containining charts |
| `charts` | string |  | List of charts to publish |
| `prepublish_steps` | steps |  | Steps to run on repo before publishing charts |

### helm-publish-prerelease

| Parameter | Type | Default | Description |
|---|---|---|---|
| `prepublish_steps` | steps |  | Steps to run on repo before publishing charts |
| `working_directory` | string | ./ | Directory containing chart directories |

### helm-publish-prerelease-dual

| Parameter | Type | Default | Description |
|---|---|---|---|
| `prepublish_steps` | steps |  | Steps to run on repo before publishing charts |
| `working_directory` | string | ./ | Directory containing chart directories |

### helm-publish-prerelease-ecr

| Parameter | Type | Default | Description |
|---|---|---|---|
| `prepublish_steps` | steps |  | Steps to run on repo before publishing charts |
| `working_directory` | string | ./ | Directory containing chart directories |

### helm-repo-reindex

| Parameter | Type | Default | Description |
|---|---|---|---|
| `chart-repo` | enum |  | Name of the chart repo to reindex |

### install_and_build

| Parameter | Type | Default | Description |
|---|---|---|---|
| `attach_workspace` | boolean | false | Attach workspace to the current working directory |
| `avoid_post_install_scripts` | boolean | true | Avoid post-install scripts |
| `cache_branch` | string |  | Branch name to use for caching |
| `check_image` | boolean | false | Checks if the Docker image exists |
| `container_folder_to_copy` | string | build | Avoid post-install scripts |
| `container_image_to_build` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | Container image to run the build |
| `docker_image_repo` | string |  | The Docker image of the microservice |
| `executor` | executor | node-large-executor | The executor used to run this job |
| `force_execute` | boolean | false | [DEPRECATED] no effect, kept for backward compatibility |
| `language` | string | node | language to execute |
| `monorepo_engine` | string | lerna | Monorepo engine |
| `package` | string |  | Package name |
| `package_folder` | string | packages | Package folder |
| `paths_to_cache` | string | {build,*.tsbuildinfo} | Paths to cache |
| `post_build_steps` | steps |  | Steps to be run after executing the build commands |
| `pre_build_steps` | steps |  | Steps to be run before executing the build commands |
| `request_remote_docker` | boolean | true | Request remote Docker |
| `run_in_container` | boolean | true | Run build in remote Docker container |
| `run_install_node_modules_in_container` | boolean | false | Run install node_modules in remote Docker container |
| `use_shallow_clone` | boolean | true | Use shallow clone to checkout code |

### monorepo_analyze_dependencies

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | node-executor | Executor to run the command on |
| `run_on_root` | boolean | false | Check that allow the command to run on root |

### monorepo_dependency_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | node-executor | Executor to run the command on |
| `run_on_root` | boolean | false | Check that allow the command to run on root |

### monorepo_integration_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `command` | string | yarn test:integration | Command to run |
| `executor` | executor | node-executor | Executor to run the command on |
| `request_remote_docker` | boolean | false | Add the option to request a new remote docker, set to false when you concat docker jobs |
| `run_on_root` | boolean | false | Check that allow the command to run on root |

### monorepo_lint_dockerfile

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | node-executor | Executor to run the command on |
| `run_on_root` | boolean | false | Check that allow the command to run on root |

### monorepo_lint_report

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | node-executor | Executor to run the command on |
| `run_on_root` | boolean | false | Check that allow the command to run on root |

### monorepo_mintlify_publish

| Parameter | Type | Default | Description |
|---|---|---|---|
| `docs_repo` | string | docs-v2 | Repository containing Mintlify docs |
| `executor` | executor | node-executor | Executor to run the command on |
| `schema_dir` | string | /tmp/schemas | Directory to store schemas between jobs |

### monorepo_rdme_publish

| Parameter | Type | Default | Description |
|---|---|---|---|
| `avoid_post_install_scripts` | boolean | true | Skip running post install scripts |
| `executor` | executor | node-executor | Executor to run the command on |
| `extra_args` | string |  | Additional yarn command options |
| `force_execution` | boolean | false | Force execution of the command on all packages |
| `install_args` | string |  | Additional yarn install command options |
| `run_on_root` | boolean | false | Check that allow the command to run on root |
| `schema_dir` | string | /tmp/schemas | Directory to store schemas between jobs |

### monorepo_release

| Parameter | Type | Default | Description |
|---|---|---|---|
| `avoid_post_install_scripts` | boolean | true | Skip running post install scripts |
| `commit_message` | string | chore(release): publish | Release engine to use |
| `executor` | executor | node-executor | The executor used to run this job |
| `install_args` | string |  | Additional yarn install command options |
| `language` | string | node | language to execute |
| `post_publish_steps` | steps |  | Steps to run after executing the publish command |
| `pre_publish_steps` | steps |  | Steps to run before executing the publish command |
| `prerelease` | boolean | false | Creates a prerelease |
| `publish_args` | string |  | Additional lerna publish command options |
| `release_engine` | string | lerna | Release engine to use |
| `sentry_project` | string |  | Sentry project to associate the release with |
| `ssh_key` | string |  | The SSH key with write permissions to the repository |
| `trigger_tags_pipelines` | boolean | true | Trigger tags after monoropo release |

### monorepo_schema_release

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | node-executor | Executor to run the command on |
| `schema_dir` | string | /tmp/schemas | Directory to store schemas between jobs |

### monorepo_schema_validate

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cache_prefix` | string | monorepo-schema-validate | Cache prefix |
| `executor` | executor | node-executor | Executor to run the command on |
| `schema_dir` | string | /tmp/schemas | Directory to store schemas between jobs |
| `skip_tests` | boolean | false | Skip the tests but save the updated schemas |

### monorepo_types_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | node-executor | Executor to run the command on |
| `run_on_root` | boolean | false | Check that allow the command to run on root |

### monorepo_unit_tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `collect_coverage` | boolean | false | Collect coverage information from sonar directories |
| `executor` | executor | node-executor | Executor to run the command on |
| `request_remote_docker` | boolean | false | Request remote Docker |
| `run_on_root` | boolean | false | Check that allow the command to run on root |

### post_image_push_actions

| Parameter | Type | Default | Description |
|---|---|---|---|
| `component` | string |  | The component name that has changed |
| `force_execute` | boolean | false | force to notify, if there is a change or not. |
| `namespace` | string |  | The namespace to look at |
| `package` | string |  | The monorepo package that has been changed |
| `package_folder` | string | packages | The monorepo package that has been changed |
| `success_slack_notify` | boolean | true | Post to Slack on successful deployment? |
| `tagged` | boolean | false | if tagged |

### prepare-env

Prepare an existing environment for e2e tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `branch` | string |  | Branch to track for the specified components |
| `cluster` | string | cm4-vf-dev-eu-0-p0 | Name of the cluster in which the environment exists |
| `env-name` | string |  | Name of the environment to prepare |
| `tracked-components` | string |  | Space-separated list of components to track the specified branch |

### promote_production

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | build-executor | Executor to use |
| `image_registry` | string |  | The container image repository |
| `modifiedComponentNames` | string |  | Space-delimited string of modified service names |

### provision-env

Provision an environment for e2e tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `branch` | string | master | Branch to track for the specified components |
| `cluster` | string | cm4-vf-dev-eu-0-p0 | Name of the cluster to create the environment on |
| `env-name` | string |  | Name of the environment to create |
| `force` | boolean | false | Whether to force environment creation without checking for free environment |
| `pool-type` | string |  | Pool where a free environment will be fetched |
| `tracked-components` | string |  | Space-separated list of components to track the specified branch |

### release

| Parameter | Type | Default | Description |
|---|---|---|---|
| `avoid_post_install_scripts` | boolean | true | Skip running post install scripts |
| `executor` | executor | node-executor | Executor to use in this job |
| `install_args` | string |  | Additional yarn install command options |
| `pre_release_steps` | steps |  | Steps to run before executing the release command |
| `prerelease_tag` | string |  | Tag to use for prerelease (Must be used alongside prerelease_version) |
| `prerelease_version` | string |  | Version to use for prerelease (Must be used alongside prerelease_tag) |
| `sentry_project` | string |  | Sentry project to associate the release with |
| `ssh_key` | string |  | The SSH key with write permissions to the repository |
| `working_directory` | string | ~/voiceflow | Directory containing package.json |
| `yarn_lock_restore_cache_directory` | string | ./ | Cache directory for yarn.lock file |

### release-env

Release an environment from use by the e2e tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cluster` | string | cm4-vf-dev-eu-0-p0 | Name of the cluster in which the environment exists |
| `env-name` | string |  | Name of the environment to release |
| `force` | boolean | false | Whether to reset the database |
| `reset-db` | boolean | true | Whether to reset the database |
| `when` | string | always | When to run this command |

### release_golang

| Parameter | Type | Default | Description |
|---|---|---|---|
| `release_package` | string |  | Release package |
| `ssh_fingerprint` | string |  | SSH Key |

### report_smoke_failures

| Parameter | Type | Default | Description |
|---|---|---|---|
| `branch-or-commit` | string | master | the branch or commit of the automated-testing repo to reference for source code |
| `channel` | string | test_failures | the channel where test failures reports will be posted |
| `e2e-env-name` | string |  |  |
| `env-name-path` | string | /home/circleci/voiceflow/env_name.txt | Path to the env_name file |
| `mention` | string | <!subteam^S07CKAVJPLG> |  |

### resetdb-free-env

Release an environment from use by the e2e tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `cluster` | string | cm4-vf-dev-eu-0-p0 | Name of the cluster in which the environment exists |
| `env-name` | string |  | Name of the environment to release |

### run-e2e-tests

Run e2e tests in specified environment. The environment and e2e repo must be provisioned before running this job.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `artifacts_path` | string | apps/creator-app/cypress | The path within the repo where the e2e test artifacts will be stored |
| `cluster` | string | cm4-vf-dev-eu-0-p0 | Name of the cluster to create the environment on |
| `env-name` | string |  | Name of the environment to create |

### run-integration-tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | node-executor-node-20 | Executor to run the command on |
| `integration-command` | string | test:integration |  |

### run-playwright-smoke-tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `branch-or-commit` | string | master | the branch or commit of the automated-testing repo to checkout |
| `e2e-env-name` | string |  |  |
| `env-name-path` | string | /home/circleci/voiceflow/env_name.txt | Path to the env_name file |
| `parallelism` | integer | 4 |  |
| `playwright-version` | string | 1.48.2 |  |
| `smoke-command` | string | test:ci:pull-request |  |
| `target-url` | string |  | use this to override the e2e-env-name and set the full creator-app URL |

### run-smoke-tests

| Parameter | Type | Default | Description |
|---|---|---|---|
| `branch-or-commit` | string | master | the branch or commit of the automated-testing repo to checkout |
| `e2e-env-name` | string |  |  |
| `env-name-path` | string | /home/circleci/voiceflow/env_name.txt | Path to the env_name file |
| `parallelism` | integer | 1 |  |
| `smoke-command` | string | test:smoke:stable |  |
| `tags` | string |  |  |
| `target-url` | string |  | use this to override the e2e-env-name and set the full creator-app URL |

### sonarcloud_scan

| Parameter | Type | Default | Description |
|---|---|---|---|
| `executor` | executor | java-executor | Executor to run the command on |
| `install_node_modules` | boolean | false | Install dependencies before scanning |

### sync_branches

| Parameter | Type | Default | Description |
|---|---|---|---|
| `check_commit_message` | string |  | The SSH key with write permissions to the repository |
| `checkout` | boolean | false | Checkout code |
| `destination_branch_name` | string | production | Name of the production branch |
| `source_branch_name` | string | master | Name of the source branch |
| `ssh_key` | string |  | The SSH key with write permissions to the repository |

### update_database_track

| Parameter | Type | Default | Description |
|---|---|---|---|
| `component` | string |  | The component type for development environment deployment |
| `executor` | executor | build-executor | Executor to use |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `node_version` | string |  | Node version |
| `platform` | string | linux/amd64 | Platform to build the image for |
| `semantic_version` | string |  |  |

### update_track

| Parameter | Type | Default | Description |
|---|---|---|---|
| `bucket` | string | com.voiceflow.ci.assets | The container image repository |
| `build_context` | string | . | Path to the context for the docker build |
| `builder_name` | string |  | named builder for use with DLC |
| `check_track_exists` | boolean | true | checks if the track exists |
| `checkout` | boolean | true | Determines if a checkout will be executed or not |
| `component` | string |  | The component type for development environment deployment |
| `disable_provenance` | boolean | false | disable provenance for image. necessary for lambda images |
| `dockerfile` | string | Dockerfile | Name of the Dockerfile to build |
| `enable_cache_to` | boolean | false | use --cache-to flag to push cache artifact to remote registry |
| `enable_dlc` | boolean | false | enable docker layer cache |
| `enable_load` | boolean | false | Load image into local docker |
| `enable_push` | boolean | true | push the image to the registry |
| `executor` | executor | build-executor | Executor to use |
| `extra_build_args` | string |  | Arguments to pass while building the docker image |
| `force_execute` | boolean | false | force to update the build, if there is a change or not. |
| `image_repo` | string |  | The container image repository |
| `image_tag` | string |  | The container image tag |
| `inject_aws_credentials` | boolean | false | Inject AWS credentials into the build |
| `kms_key` | string | awskms:///2e64fa98-d1b0-491a-acf6-1f5fc6f94ecf | KMS Key to sign the containers |
| `local_registry` | boolean | false | Use a local proxy registry to publish alpha version of all libraries in monorepo (must have a /config/verdaccio/config.yaml file) |
| `local_registry_container_image` | string | 168387678261.dkr.ecr.us-east-1.amazonaws.com/ci-node-build-image:v1 | container image to run verdaccio |
| `package` | string |  | Monorepo package. |
| `package_folder` | string | packages | Package folder to check |
| `platform` | string | linux/amd64 | Platform to build the image for |
| `remote_docker_version` | string | default | Linux/amd64 allows for specific versions to be set, while linux/arm64 only allows for either default and edge |
| `request_remote_docker` | boolean | true | Add the option to request a new remote docker, set to false when you concat docker jobs |
| `sem_ver_override` | string |  | Semantic release version of the package |
| `update_track_file` | boolean | true | Determines if the track file will be updated or not |

### validate-chart-version-bump

| Parameter | Type | Default | Description |
|---|---|---|---|
| `chart_directory` | string | ./ | Directory containing charts |
| `charts` | string |  | List of charts to validate |

### waiter

Waiter job to be used as a dependency for the Release and Delete job

| Parameter | Type | Default | Description |
|---|---|---|---|
| `wait-duration` | integer | 15 | Waiter Sleep time |

## Executors

### build-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | medium | Default resource class for the executor |
| `tag` | string | 25.0.5-dind-vf-4 |  |

### code-test-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | large | Default resource class for the executor |

### code-test-executor-node-20

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | large | Default resource class for the executor |
| `tag` | string | v3 |  |

### collector-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_node_memory` | string | 4096 | Default node memory. |
| `default_resource_class` | string | medium+ | Default resource class for the executor |
| `tag` | string | 2024.12 |  |

### cypress-e2e-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | xlarge | Default resource class for the executor |

### default-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | medium | Default resource class for the executor |

### default-executor-node-20

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | medium | Default resource class for the executor |
| `tag` | string | 20.17.0-vf-5 |  |

### e2e-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | xlarge | Default resource class for the executor |
| `user` | string | root | Default user to run the commands |

### go-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | large | Default resource class for the executor |

### gomplate-executor

### java-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | medium+ | Default resource class for the executor |

### lambda-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | arm.medium | Default resource class for the executor |

### node-codegen-executor

### node-codegen-executor-node-20

### node-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_node_memory` | string | 4096 | Default node memory |
| `default_resource_class` | string | medium+ | Default resource class for the executor |

### node-executor-node-20

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_node_memory` | string | 4096 | Default node memory. |
| `default_resource_class` | string | medium+ | Default resource class for the executor |
| `tag` | string | 20.17-vf-5 |  |

### node-large-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_node_memory` | string | 4096 | Default node memory |
| `default_resource_class` | string | large | Default resource class for the executor |

### node-large-executor-node-20

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_node_memory` | string | 4096 | Default node memory |
| `default_resource_class` | string | large | Default resource class for the executor |

### playwright-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `playwright-version` | string |  |  |

### python-executor

| Parameter | Type | Default | Description |
|---|---|---|---|
| `default_resource_class` | string | medium+ | Default resource class for the executor |

### smoke-executor