Skip to content

Commit

Permalink
docs: specify for each step if one or more plugins are required/allowed
Browse files Browse the repository at this point in the history
  • Loading branch information
pvdlg committed Jul 30, 2018
1 parent 31ec1eb commit b2d82c2
Showing 1 changed file with 24 additions and 8 deletions.
32 changes: 24 additions & 8 deletions docs/usage/plugins.md
Expand Up @@ -10,51 +10,67 @@ See [plugins list](../extending/plugins-list.md).

Responsible for verifying conditions necessary to proceed with the release: configuration is correct, authentication token are valid, etc...

Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#verifyconditions) and [@semantic-release/github](https://github.com/semantic-release/github#verifyconditions).
Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#verifyconditions) and [@semantic-release/github](https://github.com/semantic-release/github#verifyconditions).<br>
Optional.<br>
Accept multiple plugins.

### analyzeCommits plugin

Responsible for determining the type of the next release (`major`, `minor` or `patch`).

Default implementation: [@semantic-release/commit-analyzer](https://github.com/semantic-release/commit-analyzer).
Default implementation: [@semantic-release/commit-analyzer](https://github.com/semantic-release/commit-analyzer).<br>
Required.<br>
Accept only one plugin.

### verifyRelease plugin

Responsible for verifying the parameters (version, type, dist-tag etc...) of the release that is about to be published. For example the [cracks plugin](https://github.com/semantic-release/cracks) is able to verify that if a release contains breaking changes, its type must be `major`.

Default implementation: none.
Default implementation: none.<br>
Optional.<br>
Accept multiple plugins.

### generateNotes plugin

Responsible for generating release notes. If multiple `generateNotes` plugins are defined, the release notes will be the result of the concatenation of plugin output.

Default implementation: [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator).
Default implementation: [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator).<br>
Optional.<br>
Accept multiple plugins.

### prepare plugin

Responsible for preparing the release, including:
- Creating or updating files such as `package.json`, `CHANGELOG.md`, documentation or compiled assets.
- Create and push commits

Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#prepare).
Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#prepare).<br>
Optional.<br>
Accept multiple plugins.

### publish plugin

Responsible for publishing the release.

Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#publish) and [@semantic-release/github](https://github.com/semantic-release/github#publish).
Default implementation: [@semantic-release/npm](https://github.com/semantic-release/npm#publish) and [@semantic-release/github](https://github.com/semantic-release/github#publish).<br>
Optional.<br>
Accept multiple plugins.

### success plugin

Responsible for notifying of a new release.

Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#success).
Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#success).<br>
Optional.<br>
Accept multiple plugins.

### fail plugin

Responsible for notifying of a failed release.

Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#fail).
Default implementation: [@semantic-release/github](https://github.com/semantic-release/github#fail).<br>
Optional.<br>
Accept multiple plugins.

## Configuration

Expand Down

0 comments on commit b2d82c2

Please sign in to comment.