semantic-release 17.0.7 → 17.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -66,3 +66,8 @@ To trigger a release, call (with a [Personal Access Tokens](https://help.github.
|
|
|
66
66
|
```
|
|
67
67
|
$ curl -v -H "Accept: application/vnd.github.everest-preview+json" -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/[org-name-or-username]/[repository]/dispatches -d '{ "event_type": "semantic-release" }'
|
|
68
68
|
```
|
|
69
|
+
|
|
70
|
+
If you'd like to use a GitHub app to manage this instead of creating a personal access token, you could consider using a project like:
|
|
71
|
+
|
|
72
|
+
* [Actions Panel](https://www.actionspanel.app/) - A declaratively configured way for triggering GitHub Actions
|
|
73
|
+
* [Action Button](https://github-action-button.web.app/#details) - A simple badge based mechanism for triggering GitHub Actions
|
|
@@ -14,7 +14,7 @@ GitLab CI supports [Pipelines](https://docs.gitlab.com/ee/ci/pipelines.html) all
|
|
|
14
14
|
|
|
15
15
|
### `.gitlab-ci.yml` configuration for Node projects
|
|
16
16
|
|
|
17
|
-
This example is a minimal configuration for **semantic-release** with a build running Node
|
|
17
|
+
This example is a minimal configuration for **semantic-release** with a build running Node 10 and 12. See [GitLab CI - Configuration of your jobs with .gitlab-ci.yml](https://docs.gitlab.com/ee/ci/yaml/README.html) for additional configuration options.
|
|
18
18
|
|
|
19
19
|
**Note**: The`semantic-release` execution command varies depending if you are using a [local](../usage/installation.md#local-installation) or [global](../usage/installation.md#global-installation) **semantic-release** installation.
|
|
20
20
|
|
|
@@ -27,25 +27,60 @@ stages:
|
|
|
27
27
|
before_script:
|
|
28
28
|
- npm install
|
|
29
29
|
|
|
30
|
-
node:
|
|
31
|
-
image: node:
|
|
30
|
+
node:10:
|
|
31
|
+
image: node:10
|
|
32
32
|
stage: test
|
|
33
33
|
script:
|
|
34
34
|
- npm test
|
|
35
35
|
|
|
36
|
-
node:
|
|
37
|
-
image: node:
|
|
36
|
+
node:12:
|
|
37
|
+
image: node:12
|
|
38
38
|
stage: test
|
|
39
39
|
script:
|
|
40
40
|
- npm test
|
|
41
41
|
|
|
42
42
|
publish:
|
|
43
|
-
image: node:
|
|
43
|
+
image: node:12
|
|
44
44
|
stage: release
|
|
45
45
|
script:
|
|
46
46
|
- npx semantic-release
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
+
### `.gitlab-ci.yml` configuration for all projects
|
|
50
|
+
|
|
51
|
+
This example is a minimal configuration for **semantic-release** with a build running Node 10 and 12. See [GitLab CI - Configuration of your jobs with .gitlab-ci.yml](https://docs.gitlab.com/ee/ci/yaml/README.html) for additional configuration options.
|
|
52
|
+
|
|
53
|
+
**Note**: The`semantic-release` execution command varies depending if you are using a [local](../usage/installation.md#local-installation) or [global](../usage/installation.md#global-installation) **semantic-release** installation.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
# The release pipeline will run only on the master branch a commit is triggered
|
|
58
|
+
stages:
|
|
59
|
+
- release
|
|
60
|
+
|
|
61
|
+
release:
|
|
62
|
+
image: node:10-buster-slim
|
|
63
|
+
stage: release
|
|
64
|
+
before_script:
|
|
65
|
+
- apt-get update && apt-get install -y --no-install-recommends git-core ca-certificates
|
|
66
|
+
- npm install -g semantic-release @semantic-release/gitlab
|
|
67
|
+
script:
|
|
68
|
+
- semantic-release
|
|
69
|
+
only:
|
|
70
|
+
- master
|
|
71
|
+
|
|
72
|
+
release:
|
|
73
|
+
image: node:12-buster-slim
|
|
74
|
+
stage: release
|
|
75
|
+
before_script:
|
|
76
|
+
- apt-get update && apt-get install -y --no-install-recommends git-core ca-certificates
|
|
77
|
+
- npm install -g semantic-release @semantic-release/gitlab
|
|
78
|
+
script:
|
|
79
|
+
- semantic-release
|
|
80
|
+
only:
|
|
81
|
+
- master
|
|
82
|
+
```
|
|
83
|
+
|
|
49
84
|
### `package.json` configuration
|
|
50
85
|
|
|
51
86
|
A `package.json` is required only for [local](../usage/installation.md#local-installation) **semantic-release** installation.
|
|
@@ -10,10 +10,8 @@ In order to use **semantic-release** you must follow these steps:
|
|
|
10
10
|
Alternatively those steps can be easily done with the [**semantic-release** interactive CLI](https://github.com/semantic-release/cli):
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
npm install -g semantic-release-cli
|
|
14
|
-
|
|
15
13
|
cd your-module
|
|
16
|
-
semantic-release-cli setup
|
|
14
|
+
npx semantic-release-cli setup
|
|
17
15
|
```
|
|
18
16
|
|
|
19
17
|

|
|
@@ -140,7 +140,7 @@ A maintenance branch is characterized by a range which defines the versions that
|
|
|
140
140
|
|
|
141
141
|
Maintenance branches are always considered lower than [release branches](#release-branches) and similarly to them, when a commit that would create a version conflict is pushed, **semantic-release** will not perform the release and will throw an `EINVALIDNEXTVERSION` error, listing the problematic commits and the valid branches on which to move them.
|
|
142
142
|
|
|
143
|
-
**semantic-release** will automatically add releases to the corresponding distribution channel when code is [merged from a release or maintenance branch to another maintenance branch](#merging-into-a-maintenance-branch), however only
|
|
143
|
+
**semantic-release** will automatically add releases to the corresponding distribution channel when code is [merged from a release or maintenance branch to another maintenance branch](#merging-into-a-maintenance-branch), however only versions within the branch `range` can be merged. If a merged version is outside the maintenance branch `range`, **semantic-release** will not add to the corresponding channel and will throw an `EINVALIDMAINTENANCEMERGE` error.
|
|
144
144
|
|
|
145
145
|
See [publishing maintenance releases recipe](../recipes/maintenance-releases.md) for a detailed example.
|
|
146
146
|
|
package/lib/hide-sensitive.js
CHANGED
|
@@ -2,9 +2,14 @@ const {escapeRegExp, size, isString} = require('lodash');
|
|
|
2
2
|
const {SECRET_REPLACEMENT, SECRET_MIN_SIZE} = require('./definitions/constants');
|
|
3
3
|
|
|
4
4
|
module.exports = (env) => {
|
|
5
|
-
const toReplace = Object.keys(env).filter(
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const toReplace = Object.keys(env).filter((envVar) => {
|
|
6
|
+
// https://github.com/semantic-release/semantic-release/issues/1558
|
|
7
|
+
if (envVar === 'GOPRIVATE') {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return /token|password|credential|secret|private/i.test(envVar) && size(env[envVar].trim()) >= SECRET_MIN_SIZE;
|
|
12
|
+
});
|
|
8
13
|
|
|
9
14
|
const regexp = new RegExp(toReplace.map((envVar) => escapeRegExp(env[envVar])).join('|'), 'g');
|
|
10
15
|
return (output) =>
|
package/package.json
CHANGED