From 1463eb42cb57665ca42323027405e2abbeb3031f Mon Sep 17 00:00:00 2001 From: Fernando Rojo Date: Fri, 25 Jun 2021 15:06:57 -0400 Subject: [PATCH] docs(plugins): clarify order of execution (#1989) --- docs/usage/plugins.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/usage/plugins.md b/docs/usage/plugins.md index ec9d5b3f..351f2c25 100644 --- a/docs/usage/plugins.md +++ b/docs/usage/plugins.md @@ -16,6 +16,8 @@ A plugin is a npm module that can implement one or more of the following steps: | `success` | No | Responsible for notifying of a new release. | | `fail` | No | Responsible for notifying of a failed release. | +Release steps will run in that order. At each step, **semantic-release** will run every plugin in the [`plugins` array](#plugins-declaration-and-execution-order), as long as the plugin implements the step. + **Note:** If no plugin with a `analyzeCommits` step is defined `@semantic-release/commit-analyzer` will be used. ## Plugins installation @@ -70,6 +72,8 @@ With this configuration **semantic-release** will: - execute the `prepare` implementation of `@semantic-release/npm` then `@semantic-release/git` - execute the `publish` implementation of `@semantic-release/npm` +Order is first determined by release steps (such as `verifyConditions` → `anayzeCommits`). At each release step, plugins are executed in the order in which they are defined. + ## Plugin options configuration A plugin configuration can be specified by wrapping the name and an options object in an array. Options configured this way will be passed only to that specific plugin.