Pierre Vanduynslager
9a04e64fab
fix: fix range regexp to handle version with multiple digits
2018-12-16 19:05:08 -05:00
Pierre Vanduynslager
89663d3fcf
fix: correctly handle skipped releases
2018-12-16 16:15:48 -05:00
Pierre Vanduynslager
e1b418d0b5
build: fix Travis maintenance branch regexp
2018-12-14 23:40:59 -05:00
Pierre Vanduynslager
9a30f3542c
fix(package): update @semantic-release/github
2018-12-14 22:29:26 -05:00
Pierre Vanduynslager
d6731b9b27
fix(package): update @semantic-release/npm and @semantic-release/github
2018-12-14 19:26:25 -05:00
Pierre Vanduynslager
e1c7269cb3
feat: allow addChannel plugins to return false in order to signify no release was done
2018-12-14 18:37:02 -05:00
Pierre Vanduynslager
aa48514f85
refactor: remove unnecessary default of addChannel plugin
2018-12-14 18:37:02 -05:00
Pierre Vanduynslager
47484f5eb2
feat: allow publish plugins to return false in order to signify no release was done
2018-12-14 16:46:32 -05:00
Pierre Vanduynslager
2aa65ad668
docs: fix broken link in CircleCI recipe
2018-12-14 16:45:48 -05:00
Pierre Vanduynslager
0bfc7a974e
docs: remove mentions of travis-deploy-once
2018-12-14 16:45:48 -05:00
Pierre Vanduynslager
52ca0b391c
fix: fix branch type regexp to handle version with multiple digits
2018-12-13 15:32:07 -05:00
Pierre Vanduynslager
d51254f465
docs: mention that debug option is CLI only
2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
2faff2637f
fix: allow to set ci option via API and config file
2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
635406c4c8
docs: switch to spectrum.chat
2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
708bca3842
docs: syntax fixes in plugins list
2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
862ffbe512
docs: add @semantic-release/apm to plugins list
2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
b874017458
chore(package): update nyc and sinon
2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
a31dd9c873
test: delete unused test helper file
2018-12-11 21:18:39 -05:00
Pierre Vanduynslager
687fea28f1
docs: new branches option in JS API example
2018-12-11 20:15:07 -05:00
Pierre Vanduynslager
968b9968a1
fix: remove unnecessary branch parameter from push function
2018-11-29 20:44:31 -05:00
Pierre Vanduynslager
b729183b4a
fix: fetch all release branches on CI
2018-11-29 20:03:51 -05:00
Pierre Vanduynslager
e63e753cf0
feat(package): update @semantic-release/commit-analyzer to version 7.0.0
...
BREAKING CHANGE: Regexp are not supported anymore for property matching in the `releaseRules` option.
Regex are replaced by [globs](https://github.com/micromatch/micromatch#matching-features ). For example `/core-.*/` should be changed to `'core-*'`.
2018-11-29 14:13:03 -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
Pierre Vanduynslager
7a9922a492
fix: rename default branch
2018-11-28 17:32:05 -05:00
Pierre Vanduynslager
eafbb343dd
fix: correctly resolve plugins installed globally with npx
...
This bug affects only plugins defined with the `plugins` option and wrapped in an Array to add a configuration
2018-11-26 18:39:28 -05:00
Pierre Vanduynslager
2b082acc73
fix: push only tags to remote repo
2018-11-21 12:32:01 -05:00
Pierre Vanduynslager
aa022e0ac2
test: clarify variables name
2018-11-21 12:32:01 -05:00
Pierre Vanduynslager
f2ede5bdde
docs: typo in JS docs
2018-11-19 18:34:16 -05:00
Pierre Vanduynslager
9742712957
test: verify errors have message and details
2018-11-19 18:34:16 -05:00
Pierre Vanduynslager
5937f13bdf
test: fix typo
2018-11-19 18:34:16 -05:00
Pierre Vanduynslager
43dbd10046
refactor: prefer filter shorter form
2018-11-19 18:34:16 -05:00
Pierre Vanduynslager
9f5645cfa0
refactor: harmonize git utils function names
2018-11-19 18:34:16 -05:00
Pierre Vanduynslager
e594638a96
test: prefer array spread
2018-11-19 18:34:16 -05:00
Pierre Vanduynslager
90da6a0bc1
feat: add logs about prepare, publish, success and fail plugins skipped in dry-run mode
2018-11-14 11:27:06 -05:00
Pierre Vanduynslager
90b497464e
test: test that dry-run also skips prepare step
2018-11-14 11:27:06 -05:00
Pierre Vanduynslager
c86518a050
fix: do not underline log messages
2018-11-14 11:27:06 -05:00
Pierre Vanduynslager
e92c84ec08
fix: indicate in logs if running in dry-run mode
2018-11-14 11:27:06 -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
728ea34dda
fix: remove redundant log
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
8e564ebc9d
docs: update FAQ to reflect new plugins option
2018-11-09 17:08:49 -05:00
Pierre Vanduynslager
dff1f1056f
docs: mention postversion npm script hook to run build scripts
2018-11-09 17:08:49 -05:00
Pierre Vanduynslager
ae4995c867
style: fix prettier errors
2018-11-07 12:19:19 -05:00
Pierre Vanduynslager
3c8177aed8
fix: add debug logs for config file path
2018-11-02 15:00:12 -04:00
Pierre Vanduynslager
6d0bd8c9b1
fix: add debug logs for plugins resolved options
2018-11-02 15:00:12 -04:00
Pierre Vanduynslager
a99355effa
fix: remove dependency to git-url-parse
2018-10-27 09:35:45 -04:00
Pierre Vanduynslager
cc06d8999a
test: fix errors ordering in assertions
2018-10-27 09:35:45 -04:00
Pierre Vanduynslager
3d5db1f8b0
fix: remove debugging console.error
2018-10-20 04:24:21 -04:00
Pierre Vanduynslager
0578c8b91c
fix: do not log outated branch error for missing permission cases
2018-10-17 15:33:16 -04:00
Pierre Vanduynslager
e29110103b
docs: add section existing tags in configuration docs
2018-10-09 22:02:34 -04:00
Pierre Vanduynslager
88539222f4
docs: add troubleshooting section for reference already exists Git error
2018-10-09 22:02:34 -04:00
Pierre Vanduynslager
d45861b989
docs: clarify the "npm missing permission" troubleshooting section
2018-10-09 22:02:34 -04:00
Pierre Vanduynslager
2ba0b81f39
docs: remove troubleshooting section related to legacy error messages
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
Pierre Vanduynslager
58c25beeb6
fix: fix logs for plugins loaded with plugins option
2018-10-09 16:33:37 -04:00
Pierre Vanduynslager
ff275a5cd4
fix: use module name in logs for plugins loaded with plugins option
2018-10-09 15:29:04 -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
Pierre Vanduynslager
9930dac69e
fix: add cwd to ENOGITREPO error message
2018-10-04 01:49:44 -04:00
Pierre Vanduynslager
bc8551c025
fix: typo in EPLUGINCONF error message
2018-10-04 01:49:44 -04:00
Pierre Vanduynslager
234a9105f6
docs: add Waffle.io README badge
2018-10-04 01:41:37 -04:00
Pierre Vanduynslager
540d4fa764
fix: pass custom env and cwd to env-ci
2018-09-07 17:21:21 -04:00
Pierre Vanduynslager
4f75cb3376
fix: support multiple generate-notes plugin in CLI arg
2018-09-07 10:46:04 -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
dffe148e33
fix: hide sensitive data in relesae notes and fail/success plugin params
2018-08-27 16:20:36 -04:00
Pierre Vanduynslager
cfeaf49233
test: use real writable stream
...
This way plugins can pipe a stream to `stdout` and `stderr` in integration tests.
2018-08-15 16:27:55 -04:00
Pierre Vanduynslager
93377eb636
revert: "fix: do not convert ssh repositoryUrl to https"
...
This reverts commit b89523105c .
2018-08-10 13:16:29 -04:00
Pierre Vanduynslager
b89523105c
fix: do not convert ssh repositoryUrl to https
2018-08-08 12:02:02 -04:00
Pierre Vanduynslager
63d422ed5c
fix: do not clone stdout/stderr passed to pugins
2018-08-04 20:33:26 -04:00
Pierre Vanduynslager
b082a2eb38
fix: do not hide env variable value if shorter than 5
2018-07-31 16:57:29 -04:00
Pierre Vanduynslager
43d0646150
fix: also hide sensitive info when loggin from cli.js
2018-07-30 14:06:51 -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
3cc62f0318
docs: add JS API documentation
2018-07-29 21:56:21 -04:00
Pierre Vanduynslager
417779e221
feat: return lastRelease, commits, nextRelease, releases from JS API
2018-07-29 21:56:21 -04:00
Pierre Vanduynslager
c57443500f
refactor: pass complete context to lib/plugins/normalize.js
2018-07-29 21:56:21 -04:00
Pierre Vanduynslager
0626d57116
feat: log with signale and allow to customize stdin and stdout
2018-07-29 21:56:21 -04:00
Pierre Vanduynslager
f64046f1d9
docs: fix link to resources page
2018-07-29 21:56:21 -04:00
Pierre Vanduynslager
1d4f67e5e8
test: use semanticrelease/npm-registry-docker Docker image for tests
2018-07-29 21:48:35 -04:00
Pierre Vanduynslager
3fb3fa8378
fix: do not override env variable with default if defined
2018-07-18 19:37:11 -04:00
Pierre Vanduynslager
a94e08de9a
feat: pass cwd and env context to plugins
...
- Allow to run semantic-release (via API) from anywhere passing the current working directory.
- Allows to simplify the tests and to run them in parallel in both the core and plugins.
2018-07-17 00:42:04 -04:00
Pierre Vanduynslager
12e4155cd3
refactor: pass argv via proxyquire for cli tests
2018-07-17 00:42:04 -04:00
Pierre Vanduynslager
89e584713d
docs: migration to new GitBook version
2018-07-14 18:00:06 -04:00
Pierre Vanduynslager
d8e59cce53
fix: set default path to generateNotes object config
2018-07-10 15:50:24 -04:00
Pierre Vanduynslager
24ce560065
refactor: build plugin pipeline parameters at initialization
...
In addition, factorize the pipeline config function to avoid code duplication.
2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
eb26254b00
refactor: use Object.entries rather than Object.keys
2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
50061bb267
refactor: remove unnecessary object destructuring
2018-07-10 13:18:58 -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
576eb6027f
refactor: simplify plugin validation
2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
f7f4aabe9e
refactor: use the lastInput arg to compute the prepare pipeline next input
...
Use the `getNextInput`'s provided argument rather than relying on the closure.
2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
12de6282dd
refactor: fix incorrect comments in lib/plugins/pipeline.js
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
ed9c456f5e
refactor: always return an Array of results/errors from a plugin pipeline
...
Always return an `Array` from a pipeline simplify the function utilization as it's more deterministic. Previously, it would return/throw a single value/error when called with a single input and an `Array` of results/errors when called with an `Array` of input.
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
09348f1b8a
style: disable max-params warning for lib/plugins/normalize.js
2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
f93eeb799b
fix: do not set path to plugin config defined as a Function or an Array
...
If a plugin hook was defined as a `Function` or an `Array` the `path` property would be set to the default value.
Even if this bug had no actual negative impact, it should be fixed so the code would perform as intended.
2018-07-10 13:18:58 -04:00
Pierre Vanduynslager
071dccea4b
fix: use unauthenticated URL to check if branch is up to date
...
In case the authentication token provided is unauthorized the call to `isBranchUpToDate` will fail due to lack of read permission if that URL is used. As a result the error about outdated local branch will be reported instead of the one about missing permission.
By using the original (unauthenticated) URL `isBranchUpToDate` shouldn't fail due to permission as it requires only read permissions, that are necessarly present as the CI wass able to clone the repo.
2018-07-10 13:07:00 -04:00
Pierre Vanduynslager
eb22f9998d
docs: FAQ for reverting a release
2018-07-10 11:52:39 -04:00