@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 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@v2
21
+ uses: actions/checkout@v3
22
22
  - name: Semantic Release
23
- uses: cycjimmy/semantic-release-action@v2
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@v2` by setting the parameter `persist-credentials: false`. This credential does not have the required permission 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@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
- | 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)] |
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@v2
62
+ uses: actions/checkout@v3
63
63
  - name: Semantic Release
64
- uses: cycjimmy/semantic-release-action@v2
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@v2
81
+ uses: actions/checkout@v3
82
82
  - name: Semantic Release
83
- uses: cycjimmy/semantic-release-action@v2
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@v2
127
+ uses: actions/checkout@v3
128
128
  - name: Semantic Release
129
- uses: cycjimmy/semantic-release-action@v2
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@v2
152
+ uses: actions/checkout@v3
153
153
  - name: Semantic Release
154
- uses: cycjimmy/semantic-release-action@v2
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@v2
182
+ uses: actions/checkout@v3
183
183
  - name: Semantic Release
184
- uses: cycjimmy/semantic-release-action@v2
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@v2
198
+ uses: actions/checkout@v3
199
199
  - name: Semantic Release
200
- uses: cycjimmy/semantic-release-action@v2
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@v2
218
+ uses: actions/checkout@v3
217
219
  - name: Semantic Release
218
- uses: cycjimmy/semantic-release-action@v2
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
- | Output Parameter | Description |
229
- |:-------------------------:|---|
230
- | new_release_published | Whether a new release was published (`true` or `false`) |
231
- | new_release_version | Version of the new release. (e.g. `1.3.0`) |
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
- | new_release_channel | The distribution channel on which the last release was initially made available (undefined for the default distribution channel). |
236
- | new_release_notes | The release notes for the new release. |
237
- | last_release_version | Version of the previous release, if there was one. (e.g. `1.2.0`) |
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@v2
245
+ uses: actions/checkout@v3
244
246
  - name: Semantic Release
245
- uses: cycjimmy/semantic-release-action@v2
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
@@ -44,5 +44,5 @@ outputs:
44
44
  last_release_version:
45
45
  description: 'Version of the previous release, if there was one.'
46
46
  runs:
47
- using: 'node12'
47
+ using: 'node16'
48
48
  main: 'index.js'
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": "2.7.0",
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": "^3.1.0"
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
  }
@@ -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
- return { extends: extend };
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
  }
@@ -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
  };