47 Commits

Author SHA1 Message Date
Ryan Kennedy
37bcc9e515 fix: Add helpful detail to ERELEASEBRANCHES error message (#1188) 2019-05-23 12:21:17 -07:00
Pierre Vanduynslager
a0229962ce fix: fix maintenance branch regex 2019-05-09 10:38:02 -04:00
David Aghassi
2977462c5b docs: cleaned up wording and typos in docs 2019-01-30 19:54:29 -05:00
Pierre Vanduynslager
4aad9cd490 fix: do not call addChannelfor 2 merged branches configured with the same channel 2018-12-18 02:18:19 -05:00
Pierre Vanduynslager
0bfc7a974e
docs: remove mentions of travis-deploy-once 2018-12-14 16:45:48 -05:00
Gregor Martynus
5d99e02254 docs(workflow-configuration): typo 2018-12-13 09:28:49 -08:00
Pierre Vanduynslager
d51254f465 docs: mention that debug option is CLI only 2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
7b4052470b feat: support multiple branches and distribution channels
- Allow to configure multiple branches to release from
- Allow to define a distribution channel associated with each branch
- Manage the availability on distribution channels based on git merges
- Support regular releases, maintenance releases and pre-releases
- Add the `addChannel` plugin step to make an existing release available on a different distribution channel

BREAKING CHANGE: the `branch` option has been removed in favor of `branches`

The new `branches` option expect either an Array or a single branch definition. To migrate your configuration:
- If you want to publish package from multiple branches, please the configuration documentation
- If you use the default configuration and want to publish only from `master`: nothing to change
- If you use the `branch` configuration and want to publish only from one branch: replace `branch` by `branches` (`"branch": "my-release-branch"` => `"branches": "my-release-branch"`)
2018-11-29 14:13:03 -05:00
Andy Edwards
d6d1bc954e docs: grammar corrections 2018-11-27 16:04:50 -05:00
Kostis (Codefresh)
244f014a91 docs: add Codefresh in list of CIs with pipelines 2018-11-18 14:59:12 -05:00
Pierre Vanduynslager
5180001ae6 feat: support multiple plugins for the analyzeCommits step
In case multiple plugins with a `analyzeCommits` step are configured, all of them will be executed and the highest release type (`major` > `minor`, `patch`) will be used.
2018-11-12 15:06:46 -05:00
Pierre Vanduynslager
83af7acf69 docs: mention default analyzeCommits plugin 2018-11-12 15:06:46 -05:00
Pierre Vanduynslager
e29110103b docs: add section existing tags in configuration docs 2018-10-09 22:02:34 -04:00
Pierre Vanduynslager
e93a663490 docs: fix markdown link in configuration docs 2018-10-09 22:02:34 -04:00
Jamie Barton
3e8216ab35 docs: typo in configuration docs 2018-10-09 12:20:35 -04:00
Pierre Vanduynslager
aa9d5c6efe docs: add a Getting started section and clarify config steps 2018-10-08 13:24:51 -04:00
Pierre Vanduynslager
5ba5010c80 feat: add new plugins option 2018-10-08 13:24:51 -04:00
Patrick Mowrer
1348985b6c docs: analyzeCommits does not accept an Array
[Fixes #924]
2018-09-07 10:17:06 -04:00
Pierre Vanduynslager
dfbb9f2429 docs: clarify the URL encoding of GIT_CREDENTIALS 2018-09-05 14:05:08 -04:00
Pierre Vanduynslager
468f8a8bda docs: clarify the --ci / --no-ci CLI option 2018-09-03 14:21:55 -04:00
Pierre Vanduynslager
b2d82c2ccb docs: specify for each step if one or more plugins are required/allowed 2018-07-29 23:50:17 -04:00
Pierre Vanduynslager
31ec1eb5de docs: fix configuration doc syntax 2018-07-29 23:50:17 -04:00
Pierre Vanduynslager
d8c84a0e0b fix: clarify EPLUGINCONF error message
The message now specify if the step is required and if it allows to configure multiple plugins.
2018-07-29 23:50:17 -04:00
Pierre Vanduynslager
5989989452 feat: allow to define multiple generateNotes plugins
Each `generateNotes` plugin will be called in the order defined and will receive the concatenation of the previous one in `nextRelease.notes`.
That gives each plugin the ability to test if there is a notes part that will precede it's own.
Each plugin is expected to return it's own part of the release notes only. **semantic-release** will take care of concatenating all the notes parts.
2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
d3032868d8 docs: fix default value for analyzeCommits plugin 2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
cac48823f1 docs: clarify verifyRelease plugin description 2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
3602716c0b docs: update semantic-release and travis-deploy-once versions in examples 2018-07-02 11:23:37 -04:00
Trevor Richardson
7615fdc9bc Fix documented explanation in plugins.md
`verifyConditions` explanation was wrong previously.
2018-06-18 10:52:27 -04:00
Pierre Vanduynslager
4d47b20831 docs: clarify config file format 2018-06-04 15:12:46 -04:00
Pierre Vanduynslager
61d7d38ec2 feat: set tag author and committer name/email
Use [Git Environment Variables](https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables#Committing). Set default values if environement variables are not set.
2018-05-08 14:25:23 -04:00
Pierre Colle
f0f325dd7f docs: add link to shareable configs and plugins list 2018-05-04 20:32:45 -04:00
pvdlg
c93775cc38 feat: add support for Bitbucket token in environment variables 2018-05-01 12:02:29 -07:00
Kévin Berthommier
a1138a6a80
docs: update plugins package name 2018-04-11 18:40:19 -04:00
William Hosford
e41726cb96 docs: fix grammar and typos in CI configuration, configuration, and shareable configurations 2018-03-21 20:03:21 -07:00
Pierre Vanduynslager
5f1d530e2a feat: allow to use shorthand for repositoryUrl
- `owner/repo` => `https://github.com/owner/repo.git`
- `gitlab:owner/repo` => `https://gitlab.com/owner/repo.git`
- `bitbucket:owner/repo` => `https://bitbucket.com/owner/repo.git`
2018-03-15 22:40:09 +00:00
Gregor Martynus
1129d47e1d docs(configuration): environment variable DEBUG must be set to semantic-release:*, not semantic-release 2018-03-12 16:39:46 -04:00
William Hosford
a7c187f31b docs: fix grammar and typos in README, CONTRIBUTING, installation guide, and plugin guide 2018-02-25 17:43:51 +00:00
Pierre Vanduynslager
c2beb643fa feat: add the prepare plugin hook
BREAKING CHANGE: Committing or creating files in the `publish` plugin hook is not supported anymore and now must be done in the `prepare` hook

Plugins with a `publish` hook that makes a commit or create a file that can be committed must use the `prepare` hook.
2018-02-19 00:28:50 -05:00
Pierre Vanduynslager
9788fcad4e feat: use @semantic-release/github as default for success and fail hooks
BREAKING CHANGE: `success` and `fail` hooks are now enabled by default

In order to disable the `@semantic-release/github` plugin for the `success` and `fail` hook, the corresponding options have to be set to `false` in the **semantic-release** configuration:

```json
{
  "release": {
    "success": false,
    "fail": false
  }
}
```

Users who do not use the `@semantic-release/github` plugin, should disable it in the `success` and `fail` by setting the corresponding options to `false` or to alternative plugin providing `success` and `fail` hooks.
2018-02-13 16:33:37 -05:00
Pierre Vanduynslager
1b3c51d624 docs: add missing success and fail options 2018-02-13 16:06:30 -05:00
Pierre Vanduynslager
49f5e704ba feat: add success and fail notification plugins
- Allow `publish` plugins to return an `Object` with information related to the releases
- Add the `success` plugin hook, called when all `publish` are successful, receiving a list of release
- Add the `fail` plugin hook, called when an error happens at any point, receiving a list of errors
- Add detailed message for each error
2018-02-11 19:53:41 -05:00
Pierre Vanduynslager
39536fa34e feat: add tagFormat option to customize Git tag name 2018-01-29 00:55:32 -05:00
Anthony Ng
2f75dff3fc docs: fix image path (#625) 2018-01-28 14:01:12 -08:00
Stephan Bönnemann
e3c9bb8bd4 docs: recommend to execute semantic-release via npx 2018-01-27 19:04:12 -08:00
Pierre Vanduynslager
d0b304e240 feat: get last release with git tags
- Remove the `getLastRelease` plugin type
- Retrieve the last release based on Git tags
- Create the next release Git tag before calling the `publish` plugins

BREAKING CHANGE: Remove the `getLastRelease` plugin type

The `getLastRelease` plugins will not be called anymore.

BREAKING CHANGE: Git repository authentication is now mandatory

The Git authentication is now mandatory and must be set via `GH_TOKEN`, `GITHUB_TOKEN`,  `GL_TOKEN`, `GITLAB_TOKEN` or `GIT_CREDENTIALS` as described in [CI configuration](https://github.com/semantic-release/semantic-release/blob/caribou/docs/usage/ci-configuration.md#authentication).
2018-01-27 16:50:29 -05:00
Pierre Vanduynslager
ba79c8590a docs: typos. clarifications 2018-01-05 18:58:22 -05:00
Pierre Vanduynslager
fdb995f77d docs: publish with gitbook 2018-01-05 16:05:30 -05:00