@cycjimmy/semantic-release-action 2.7.0 → 3.1.1
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.
- package/README.md +41 -39
- package/action.yml +1 -1
- package/docs/CHANGELOG.md +26 -0
- package/package.json +5 -2
- package/src/handleOptions.js +6 -2
- package/src/windUpJob.task.js +5 -5
package/README.md
CHANGED
|
@@ -18,16 +18,16 @@ GitHub Action for [Semantic Release][semantic-url].
|
|
|
18
18
|
```yaml
|
|
19
19
|
steps:
|
|
20
20
|
- name: Checkout
|
|
21
|
-
uses: actions/checkout@
|
|
21
|
+
uses: actions/checkout@v3
|
|
22
22
|
- name: Semantic Release
|
|
23
|
-
uses: cycjimmy/semantic-release-action@
|
|
23
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
24
24
|
env:
|
|
25
25
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
26
26
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
**IMPORTANT**: `GITHUB_TOKEN` does not have the required permissions to operate on protected branches.
|
|
30
|
-
If you are using this action for protected branches, replace `GITHUB_TOKEN` with [Personal Access Token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line). If using the `@semantic-release/git` plugin for protected branches, avoid persisting credentials as part of `actions/checkout@
|
|
30
|
+
If you are using this action for protected branches, replace `GITHUB_TOKEN` with [Personal Access Token](https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line). If using the `@semantic-release/git` plugin for protected branches, avoid persisting credentials as part of `actions/checkout@v3` by setting the parameter `persist-credentials: false`. This credential does not have the required permission to operate on protected branches.
|
|
31
31
|
|
|
32
32
|
#### Private Packages
|
|
33
33
|
|
|
@@ -43,15 +43,15 @@ then make sure that you configure this in your `package.json` file:
|
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
### Inputs
|
|
46
|
-
|
|
|
47
|
-
|
|
48
|
-
| semantic_version |
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
| working_directory |
|
|
46
|
+
| Input Parameter | Required | Description |
|
|
47
|
+
|:-----------------:|:--------:|--------------------------------------------------------------------------------------------------------------------------|
|
|
48
|
+
| semantic_version | false | Specify specifying version range for semantic-release. [[Details](#semantic_version)] |
|
|
49
|
+
| branches | false | The branches on which releases should happen.[[Details](#branches)]<br>Support for **semantic-release above v16**. |
|
|
50
|
+
| branch | false | The branch on which releases should happen.[[Details](#branch)]<br>Only support for **semantic-release older than v16**. |
|
|
51
|
+
| extra_plugins | false | Extra plugins for pre-install. [[Details](#extra_plugins)] |
|
|
52
|
+
| dry_run | false | Whether to run semantic release in `dry-run` mode. [[Details](#dry_run)] |
|
|
53
|
+
| extends | false | Use a sharable configuration [[Details](#extends)] |
|
|
54
|
+
| working_directory | false | Use another working directory for semantic release [[Details](#working_directory)] |
|
|
55
55
|
|
|
56
56
|
#### semantic_version
|
|
57
57
|
> {Optional Input Parameter} Specify specifying version range for semantic-release.<br>If no version range is specified, latest version will be used by default.
|
|
@@ -59,9 +59,9 @@ then make sure that you configure this in your `package.json` file:
|
|
|
59
59
|
```yaml
|
|
60
60
|
steps:
|
|
61
61
|
- name: Checkout
|
|
62
|
-
uses: actions/checkout@
|
|
62
|
+
uses: actions/checkout@v3
|
|
63
63
|
- name: Semantic Release
|
|
64
|
-
uses: cycjimmy/semantic-release-action@
|
|
64
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
65
65
|
with:
|
|
66
66
|
semantic_version: 15.13.28 # It is recommended to specify specifying version range
|
|
67
67
|
# for semantic-release.
|
|
@@ -78,9 +78,9 @@ steps:
|
|
|
78
78
|
```yaml
|
|
79
79
|
steps:
|
|
80
80
|
- name: Checkout
|
|
81
|
-
uses: actions/checkout@
|
|
81
|
+
uses: actions/checkout@v3
|
|
82
82
|
- name: Semantic Release
|
|
83
|
-
uses: cycjimmy/semantic-release-action@
|
|
83
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
84
84
|
with:
|
|
85
85
|
semantic_version: 16
|
|
86
86
|
# you can set branches for semantic-release above v16.
|
|
@@ -124,9 +124,9 @@ See [configuration#branches](https://semantic-release.gitbook.io/semantic-releas
|
|
|
124
124
|
```yaml
|
|
125
125
|
steps:
|
|
126
126
|
- name: Checkout
|
|
127
|
-
uses: actions/checkout@
|
|
127
|
+
uses: actions/checkout@v3
|
|
128
128
|
- name: Semantic Release
|
|
129
|
-
uses: cycjimmy/semantic-release-action@
|
|
129
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
130
130
|
with:
|
|
131
131
|
semantic_version: 15.13.28
|
|
132
132
|
# you can set branch for semantic-release older than v16.
|
|
@@ -149,9 +149,9 @@ Github Action Workflow:
|
|
|
149
149
|
```yaml
|
|
150
150
|
steps:
|
|
151
151
|
- name: Checkout
|
|
152
|
-
uses: actions/checkout@
|
|
152
|
+
uses: actions/checkout@v3
|
|
153
153
|
- name: Semantic Release
|
|
154
|
-
uses: cycjimmy/semantic-release-action@
|
|
154
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
155
155
|
with:
|
|
156
156
|
# You can specify specifying version range for the extra plugins if you prefer.
|
|
157
157
|
extra_plugins: |
|
|
@@ -179,9 +179,9 @@ Release Config:
|
|
|
179
179
|
```yaml
|
|
180
180
|
steps:
|
|
181
181
|
- name: Checkout
|
|
182
|
-
uses: actions/checkout@
|
|
182
|
+
uses: actions/checkout@v3
|
|
183
183
|
- name: Semantic Release
|
|
184
|
-
uses: cycjimmy/semantic-release-action@
|
|
184
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
185
185
|
with:
|
|
186
186
|
dry_run: true
|
|
187
187
|
env:
|
|
@@ -195,13 +195,15 @@ The action can be used with `extends` option to extend an existing [sharable con
|
|
|
195
195
|
```yaml
|
|
196
196
|
steps:
|
|
197
197
|
- name: Checkout
|
|
198
|
-
uses: actions/checkout@
|
|
198
|
+
uses: actions/checkout@v3
|
|
199
199
|
- name: Semantic Release
|
|
200
|
-
uses: cycjimmy/semantic-release-action@
|
|
200
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
201
201
|
with:
|
|
202
202
|
# You can extend an existing shareable configuration.
|
|
203
|
+
# And you can specify version range for the shareable configuration if you prefer.
|
|
203
204
|
extends: |
|
|
204
|
-
@semantic-release/apm-config
|
|
205
|
+
@semantic-release/apm-config@^9.0.0
|
|
206
|
+
@mycompany/override-config
|
|
205
207
|
env:
|
|
206
208
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
207
209
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -213,9 +215,9 @@ This action run semantic release in the github provided workspace by default. Yo
|
|
|
213
215
|
```yaml
|
|
214
216
|
steps:
|
|
215
217
|
- name: Checkout
|
|
216
|
-
uses: actions/checkout@
|
|
218
|
+
uses: actions/checkout@v3
|
|
217
219
|
- name: Semantic Release
|
|
218
|
-
uses: cycjimmy/semantic-release-action@
|
|
220
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
219
221
|
with:
|
|
220
222
|
# You can select another working directory like a subdirectory for example.
|
|
221
223
|
working_directory: ./code
|
|
@@ -225,24 +227,24 @@ steps:
|
|
|
225
227
|
```
|
|
226
228
|
|
|
227
229
|
### Outputs
|
|
228
|
-
|
|
|
229
|
-
|
|
230
|
-
|
|
|
231
|
-
|
|
|
232
|
-
| new_release_major_version | Major version of the new release. (e.g. `1`)
|
|
233
|
-
| new_release_minor_version | Minor version of the new release. (e.g. `3`)
|
|
234
|
-
| new_release_patch_version | Patch version of the new release. (e.g. `0`)
|
|
235
|
-
|
|
|
236
|
-
|
|
|
237
|
-
|
|
|
230
|
+
| Output Parameter | Description |
|
|
231
|
+
|:-------------------------:|-----------------------------------------------------------------------------------------------------------------------------------|
|
|
232
|
+
| new_release_published | Whether a new release was published. The return value is in the form of a string. (`"true"` or `"false"`) |
|
|
233
|
+
| new_release_version | Version of the new release. (e.g. `"1.3.0"`) |
|
|
234
|
+
| new_release_major_version | Major version of the new release. (e.g. `"1"`) |
|
|
235
|
+
| new_release_minor_version | Minor version of the new release. (e.g. `"3"`) |
|
|
236
|
+
| new_release_patch_version | Patch version of the new release. (e.g. `"0"`) |
|
|
237
|
+
| new_release_channel | The distribution channel on which the last release was initially made available (undefined for the default distribution channel). |
|
|
238
|
+
| new_release_notes | The release notes for the new release. |
|
|
239
|
+
| last_release_version | Version of the previous release, if there was one. (e.g. `"1.2.0"`) |
|
|
238
240
|
|
|
239
241
|
#### Using Output Variables:
|
|
240
242
|
```yaml
|
|
241
243
|
steps:
|
|
242
244
|
- name: Checkout
|
|
243
|
-
uses: actions/checkout@
|
|
245
|
+
uses: actions/checkout@v3
|
|
244
246
|
- name: Semantic Release
|
|
245
|
-
uses: cycjimmy/semantic-release-action@
|
|
247
|
+
uses: cycjimmy/semantic-release-action@v3
|
|
246
248
|
id: semantic # Need an `id` for output variables
|
|
247
249
|
env:
|
|
248
250
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
package/action.yml
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
## [3.1.1](https://github.com/cycjimmy/semantic-release-action/compare/v3.1.0...v3.1.1) (2022-08-30)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* set last_release_version output even if no release has been published ([b1467cd](https://github.com/cycjimmy/semantic-release-action/commit/b1467cd17e70d963d7925a60266adb249ee2223d))
|
|
7
|
+
|
|
8
|
+
# [3.1.0](https://github.com/cycjimmy/semantic-release-action/compare/v3.0.0...v3.1.0) (2022-08-05)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* handle versioned extends inputs correctly ([4a51b9f](https://github.com/cycjimmy/semantic-release-action/commit/4a51b9fada7267737750fded8b8edfb275acbbbb))
|
|
14
|
+
|
|
15
|
+
# [3.0.0](https://github.com/cycjimmy/semantic-release-action/compare/v2.7.0...v3.0.0) (2022-03-03)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* switch operating environment to node16 ([b5f16ae](https://github.com/cycjimmy/semantic-release-action/commit/b5f16ae54b21667e3af8a1bd015ec069c8237674)), closes [#92](https://github.com/cycjimmy/semantic-release-action/issues/92) [#96](https://github.com/cycjimmy/semantic-release-action/issues/96)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### BREAKING CHANGES
|
|
24
|
+
|
|
25
|
+
* switch operating environment to node16
|
|
26
|
+
|
|
1
27
|
# [2.7.0](https://github.com/cycjimmy/semantic-release-action/compare/v2.6.0...v2.7.0) (2021-12-12)
|
|
2
28
|
|
|
3
29
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cycjimmy/semantic-release-action",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "GitHub Action for Semantic Release",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
"homepage": "https://github.com/cycjimmy/semantic-release-action#readme",
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@actions/core": "^1.6.0",
|
|
25
|
-
"@cycjimmy/awesome-js-funcs": "^
|
|
25
|
+
"@cycjimmy/awesome-js-funcs": "^4.0.4",
|
|
26
|
+
"@semantic-release/changelog": "^6.0.1",
|
|
27
|
+
"@semantic-release/git": "^10.0.1",
|
|
28
|
+
"semantic-release": "^19.0.5"
|
|
26
29
|
}
|
|
27
30
|
}
|
package/src/handleOptions.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const core = require('@actions/core');
|
|
2
|
-
const stringToJson = require('@cycjimmy/awesome-js-funcs/cjs/typeConversion/stringToJson').default;
|
|
2
|
+
const stringToJson = require('@cycjimmy/awesome-js-funcs/cjs/typeConversion/stringToJson.cjs').default;
|
|
3
3
|
const inputs = require('./inputs.json');
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -68,7 +68,11 @@ exports.handleExtends = () => {
|
|
|
68
68
|
const extend = core.getInput(inputs.extends);
|
|
69
69
|
|
|
70
70
|
if (extend) {
|
|
71
|
-
|
|
71
|
+
const extendModuleNames = extend.split(/\r?\n/)
|
|
72
|
+
.map((name) => name.replace(/(?<!^)@.+/, ''))
|
|
73
|
+
return {
|
|
74
|
+
extends: extendModuleNames
|
|
75
|
+
};
|
|
72
76
|
} else {
|
|
73
77
|
return {};
|
|
74
78
|
}
|
package/src/windUpJob.task.js
CHANGED
|
@@ -14,6 +14,11 @@ module.exports = async (result) => {
|
|
|
14
14
|
|
|
15
15
|
const {lastRelease, commits, nextRelease, releases} = result;
|
|
16
16
|
|
|
17
|
+
if (lastRelease.version) {
|
|
18
|
+
core.debug(`The last release was "${lastRelease.version}".`);
|
|
19
|
+
core.setOutput(outputs.last_release_version, lastRelease.version)
|
|
20
|
+
}
|
|
21
|
+
|
|
17
22
|
if (!nextRelease) {
|
|
18
23
|
core.debug('No release published.');
|
|
19
24
|
return Promise.resolve();
|
|
@@ -21,10 +26,6 @@ module.exports = async (result) => {
|
|
|
21
26
|
|
|
22
27
|
core.debug(`Published ${nextRelease.type} release version ${nextRelease.version} containing ${commits.length} commits.`);
|
|
23
28
|
|
|
24
|
-
if (lastRelease.version) {
|
|
25
|
-
core.debug(`The last release was "${lastRelease.version}".`);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
29
|
for (const release of releases) {
|
|
29
30
|
core.debug(`The release was published with plugin "${release.pluginName}".`);
|
|
30
31
|
}
|
|
@@ -40,5 +41,4 @@ module.exports = async (result) => {
|
|
|
40
41
|
core.setOutput(outputs.new_release_patch_version, patch);
|
|
41
42
|
core.setOutput(outputs.new_release_channel, channel);
|
|
42
43
|
core.setOutput(outputs.new_release_notes, notes);
|
|
43
|
-
core.setOutput(outputs.last_release_version, lastRelease.version)
|
|
44
44
|
};
|