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
Pierre Vanduynslager
5847514fcc
fix: allow empty release notes in dry-run mode
2018-07-10 11:42:22 -04:00
Pierre Vanduynslager
a39ccb8f6c
docs: add missing link in GitBook summary
2018-07-08 01:16:21 -04:00
Pierre Vanduynslager and GitHub
0862480cf0
fix(package): update hosted-git-info to version 2.7.1
2018-07-06 21:47:50 -04:00
Pierre Vanduynslager
45eee4acdd
fix: fetch all tags even if the repo is not shallow
2018-07-02 18:38:24 -04:00
Pierre Vanduynslager
2d3a5e53e9
test: harmonize git-utils functions name
2018-07-02 18:38:24 -04:00
Pierre Vanduynslager
4abda31f83
fix: add debug log for git fetch command
2018-07-02 16:50:41 -04:00
Pierre Vanduynslager
3602716c0b
docs: update semantic-release and travis-deploy-once versions in examples
2018-07-02 11:23:37 -04:00
Pierre Vanduynslager
d4f68a5680
fix(package): update yargs to version 12.0.0
2018-06-26 15:46:19 -04:00
Pierre Vanduynslager
4454d57e02
feat: allow to disable the publish plugin hook
2018-06-19 15:03:43 -04:00
Pierre Vanduynslager
2b6378f26f
fix: use git ls-remote to verify if the remote branch is ahead
2018-06-15 16:16:55 -04:00
Pierre Vanduynslager
24a8052038
refactor: simply EGITNOPERMISSION error parameters
2018-06-15 16:16:55 -04:00
Pierre Vanduynslager
f9d9144e3d
docs: Add a troubleshooting section about squashed commits
2018-06-11 11:52:23 -04:00
Pierre Vanduynslager
4d47b20831
docs: clarify config file format
2018-06-04 15:12:46 -04:00
Pierre Vanduynslager
db1cc60c41
feat: verify minimum required git version is installed
2018-05-21 17:52:52 -04:00
Pierre Vanduynslager
47c73eb672
feat: add support for git version 2.0.0
2018-05-21 17:52:52 -04:00
Pierre Vanduynslager and Gregor Martynus
228451b7c9
docs: fix typo
2018-05-20 15:16:55 -07:00
Pierre Vanduynslager
3503407bf4
docs: clarify which commit types trigger a release
2018-05-20 23:55:47 +03:00
Pierre Vanduynslager
5025fcab55
docs: fix FAQ heading level
2018-05-20 23:55:47 +03:00
Pierre Vanduynslager
6693080b51
style: fix table indentation
2018-05-20 23:55:47 +03:00
Pierre Vanduynslager
a72d8f52af
fix: add clarification in EGITNOPERMISSION error message
...
Clarify that the error might be due to an invalid `repositoryUrl` configuration.
2018-05-20 23:14:44 +03:00
Pierre Vanduynslager and Gregor Martynus
d7081fadb1
fix: use git rev-parse origin/${branch} to verify origin head
2018-05-09 13:27:33 -07: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
pvdlg
1ed466e337
ci: run test on Node.js 10
2018-05-04 21:55:30 -04:00
pvdlg and Gregor Martynus
cd9f2bdd44
feat: log git error message when authentication verification fails
2018-05-04 12:19:24 -07:00
pvdlg and Gregor Martynus
c93775cc38
feat: add support for Bitbucket token in environment variables
2018-05-01 12:02:29 -07:00
pvdlg
e88ac6300c
fix: fix Bitbucket authenticated URL
2018-05-01 10:44:02 -04:00
pvdlg
a52f258fa4
refactor: rename origin parameters to repositoryUrl
2018-05-01 09:59:57 -04:00
pvdlg
3f614530a0
test: prevent username/password prompt in get-git-auth-url tests
2018-05-01 09:59:57 -04:00
pvdlg
d15905c0d5
fix: verify the local branch is up to date with the remote one
2018-05-01 09:59:57 -04:00
pvdlg
a11da0d5e3
docs: fix jsdoc typos
2018-05-01 09:59:57 -04:00
pvdlg
65aaa77e95
refactor: remove unused test util function
2018-05-01 09:59:57 -04:00
Pierre Vanduynslager
cb1f80cb56
fix: add trailing .git to repositoryUrl only if it's present in the configured URL
2018-04-12 17:42:53 -04:00
Pierre Vanduynslager
31ad23125a
fix: match tag to tagFormat from the begining of the string
2018-04-11 17:11:33 -04:00
Pierre Vanduynslager
a8a07b7d51
docs: clarify FAQ to publish non-JavaScript packages
2018-04-10 12:11:24 -04:00
Pierre Vanduynslager
51e340f44e
fix: handle case with no last release in history
2018-03-21 21:41:50 -04:00
Pierre Vanduynslager
30ee231116
fix: prevent git prompt before permissions verification
2018-03-20 11:24:08 -04:00
Pierre Vanduynslager
3c46455929
fix: remove execa timeout
2018-03-20 11:24:08 -04:00
Pierre Vanduynslager
dff0a34ab2
docs: add "Introduction to Semantic Release" article
2018-03-16 16:17:07 -04:00
Pierre Vanduynslager
7c48afad47
fix: prevent git CLI to prompt user/password on CI
2018-03-16 14:33:18 -04:00
Pierre Vanduynslager and Gregor Martynus
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
Pierre Vanduynslager and Gregor Martynus
b0b4fc82de
fix: convert git+https URL in package.json to https
2018-03-13 00:54:32 +00:00
Pierre Vanduynslager and Gregor Martynus
6f74dcbd4a
fix: use correct debug namespace
2018-03-13 00:54:32 +00:00
Pierre Vanduynslager and Gregor Martynus
e4618a2fbc
fix: exclude prereleases from version retrived by getLastRelease
2018-03-08 17:25:40 +00:00
Pierre Vanduynslager and Gregor Martynus
e5a73d8628
fix: remove unecessary console.log
2018-03-07 23:01:08 +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
20246c02b1
fix: exclude empty env var value from replacement
2018-02-19 00:01:06 -05:00
Pierre Vanduynslager
857d4180e9
fix: allow boolean option to be set in config file
2018-02-16 00:51:58 -05:00
Pierre Vanduynslager
4d0490122c
style: lint
2018-02-15 23:19:57 -05:00
Pierre Vanduynslager
aa724e80f7
chore(package): simplify xo configuration
2018-02-15 23:19:57 -05:00
Pierre Vanduynslager and Gregor Martynus
1966f0e3e2
fix: verify branch first
2018-02-15 18:35:37 +00:00
Pierre Vanduynslager
305f4ee8eb
fix: do not transform repositoryUrl if it allow to push
...
Even the user set Git credentials via environment variable, use the configured URL (with authentication) if it works.
This allow users to push tags and commits via ssh while still using the GitHub/GitLab API.
2018-02-14 10:45:44 -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
04f3061bed
fix: remove the github plugin from default success and fail hooks
2018-02-13 16:06:30 -05:00
Pierre Vanduynslager
1b3c51d624
docs: add missing success and fail options
2018-02-13 16:06:30 -05:00
Pierre Vanduynslager
8a2ef48308
test: revert to mockserver:latest docker container
2018-02-12 21:40:47 -05:00
Pierre Vanduynslager
ce1e74f611
fix: set repository authentication when repositoryUrl is set as an option
2018-02-12 16:17:09 -05:00
Pierre Vanduynslager
b6837a20a8
test: use older version of mockserver
...
Due to https://github.com/jamesdbloom/mockserver/issues/435
2018-02-12 16:17:09 -05:00
Pierre Vanduynslager and Gregor Martynus
97cb354fea
feat: improve CLI
...
- Replace `commander.js` with `yargs`
- Add CLI unit tests
- Add a `--version` option
- Improve `--help` output
- Remove `commander.js` related workaround
- Allow to set list option with arg repetition or space separated list
- Maintain the list options defined as comma separated list
2018-02-12 11:01:09 -08:00
Pierre Vanduynslager and Gregor Martynus
f92677b092
fix: log current version of semantic-release
2018-02-12 11:01:09 -08:00
Pierre Vanduynslager
9dd127ba98
fix: fix EPLUGINCONF error details
2018-02-12 00:36:06 -05:00
Pierre Vanduynslager
c9bd5de075
docs: simplify GitLAb-ci config
...
- remove Node 4
2018-02-11 22:17:12 -05:00
Pierre Vanduynslager
51f6e5fd60
docs: simplify travis config
...
- remove OSs
- remove Node 4
2018-02-11 22:17:12 -05:00
Pierre Vanduynslager
c6e95b0885
docs: add CircleCI workflows recipe
2018-02-11 22:17:12 -05:00
Pierre Vanduynslager
7fbd2721c4
docs: add Travis Build Stages recipe
2018-02-11 22:17:12 -05:00
Pierre Vanduynslager
fcb64e6fef
docs: remove unnecessary script override in travis recipe
2018-02-11 22:17:12 -05:00
Pierre Vanduynslager
d72cfc2546
docs: fix typo in travis recipe
2018-02-11 22:17:12 -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
9b2f6bfed2
feat: allow plugins to throw an iterable list of errors
2018-02-11 19:53:41 -05:00
Pierre Vanduynslager
9360caf253
docs: fix minor typo in FAQ
2018-02-10 23:38:12 -05:00
Pierre Vanduynslager
5fd990acef
docs: fix typo in extending link
2018-02-09 18:43:56 -05:00
Pierre Vanduynslager
687435b9a2
feat: add debug logs for git commands
2018-02-08 16:43:17 -05:00
Pierre Vanduynslager
7e785fa757
fix: debug log all options
2018-02-08 16:13:04 -05:00
Pierre Vanduynslager
053c9edf9b
test: add test to parse GitLab/Bitbucket URLs with groups
2018-02-07 21:03:36 -05:00
Pierre Vanduynslager
2edd9da598
fix(package): update git-url-parse to version 8.1.0
2018-02-07 21:03:36 -05:00
Pierre Vanduynslager
cbf57851fb
fix: always transform git+https url to https
2018-02-02 15:33:36 -05:00
Pierre Vanduynslager and GitHub
af8c830335
fix(package): update @semantic-release/github to version 4.0.2
2018-02-02 13:55:21 -05:00
Pierre Vanduynslager
39536fa34e
feat: add tagFormat option to customize Git tag name
2018-01-29 00:55:32 -05:00
Pierre Vanduynslager
faabffb208
fix: log all core verification errors
2018-01-29 00:55:32 -05:00
Pierre Vanduynslager
467635bc14
fix: prioritize GIT_CREDENTIALS for gtit credentials
...
Allow to defined a both `GIT_CREDENTIALS` for repository access and `GH_TOKEN` or `GL_TOKEN` for API access
2018-01-27 20:31:59 -05:00
Pierre Vanduynslager
8b3605dd04
fix: hide sensitive info for Buffer and undefined
2018-01-27 18:24:24 -05:00
Pierre Vanduynslager
cb36dd4890
fix: rename the --repositoryUrl CLI option to --repository-url
...
Harmonize the CLI option format.
BREAKING CHANGE: The `--repositoryUrl` CLI options is replaced by `--repository-url`
2018-01-27 16:50:29 -05:00