@cycjimmy/semantic-release-action 2.5.4 → 3.0.0

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,14 +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)] |
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)] |
54
55
 
55
56
  #### semantic_version
56
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.
@@ -58,9 +59,9 @@ then make sure that you configure this in your `package.json` file:
58
59
  ```yaml
59
60
  steps:
60
61
  - name: Checkout
61
- uses: actions/checkout@v2
62
+ uses: actions/checkout@v3
62
63
  - name: Semantic Release
63
- uses: cycjimmy/semantic-release-action@v2
64
+ uses: cycjimmy/semantic-release-action@v3
64
65
  with:
65
66
  semantic_version: 15.13.28 # It is recommended to specify specifying version range
66
67
  # for semantic-release.
@@ -77,9 +78,9 @@ steps:
77
78
  ```yaml
78
79
  steps:
79
80
  - name: Checkout
80
- uses: actions/checkout@v2
81
+ uses: actions/checkout@v3
81
82
  - name: Semantic Release
82
- uses: cycjimmy/semantic-release-action@v2
83
+ uses: cycjimmy/semantic-release-action@v3
83
84
  with:
84
85
  semantic_version: 16
85
86
  # you can set branches for semantic-release above v16.
@@ -123,9 +124,9 @@ See [configuration#branches](https://semantic-release.gitbook.io/semantic-releas
123
124
  ```yaml
124
125
  steps:
125
126
  - name: Checkout
126
- uses: actions/checkout@v2
127
+ uses: actions/checkout@v3
127
128
  - name: Semantic Release
128
- uses: cycjimmy/semantic-release-action@v2
129
+ uses: cycjimmy/semantic-release-action@v3
129
130
  with:
130
131
  semantic_version: 15.13.28
131
132
  # you can set branch for semantic-release older than v16.
@@ -148,9 +149,9 @@ Github Action Workflow:
148
149
  ```yaml
149
150
  steps:
150
151
  - name: Checkout
151
- uses: actions/checkout@v2
152
+ uses: actions/checkout@v3
152
153
  - name: Semantic Release
153
- uses: cycjimmy/semantic-release-action@v2
154
+ uses: cycjimmy/semantic-release-action@v3
154
155
  with:
155
156
  # You can specify specifying version range for the extra plugins if you prefer.
156
157
  extra_plugins: |
@@ -178,9 +179,9 @@ Release Config:
178
179
  ```yaml
179
180
  steps:
180
181
  - name: Checkout
181
- uses: actions/checkout@v2
182
+ uses: actions/checkout@v3
182
183
  - name: Semantic Release
183
- uses: cycjimmy/semantic-release-action@v2
184
+ uses: cycjimmy/semantic-release-action@v3
184
185
  with:
185
186
  dry_run: true
186
187
  env:
@@ -194,9 +195,9 @@ The action can be used with `extends` option to extend an existing [sharable con
194
195
  ```yaml
195
196
  steps:
196
197
  - name: Checkout
197
- uses: actions/checkout@v2
198
+ uses: actions/checkout@v3
198
199
  - name: Semantic Release
199
- uses: cycjimmy/semantic-release-action@v2
200
+ uses: cycjimmy/semantic-release-action@v3
200
201
  with:
201
202
  # You can extend an existing shareable configuration.
202
203
  extends: |
@@ -206,6 +207,23 @@ steps:
206
207
  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
207
208
  ```
208
209
 
210
+ #### working_directory
211
+ This action run semantic release in the github provided workspace by default. You can override it by setting another working directory.
212
+
213
+ ```yaml
214
+ steps:
215
+ - name: Checkout
216
+ uses: actions/checkout@v3
217
+ - name: Semantic Release
218
+ uses: cycjimmy/semantic-release-action@v3
219
+ with:
220
+ # You can select another working directory like a subdirectory for example.
221
+ working_directory: ./code
222
+ env:
223
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
224
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
225
+ ```
226
+
209
227
  ### Outputs
210
228
  | Output Parameter | Description |
211
229
  |:-------------------------:|---|
@@ -216,14 +234,15 @@ steps:
216
234
  | new_release_patch_version | Patch version of the new release. (e.g. `0`) |
217
235
  | new_release_channel | The distribution channel on which the last release was initially made available (undefined for the default distribution channel). |
218
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`) |
219
238
 
220
239
  #### Using Output Variables:
221
240
  ```yaml
222
241
  steps:
223
242
  - name: Checkout
224
- uses: actions/checkout@v2
243
+ uses: actions/checkout@v3
225
244
  - name: Semantic Release
226
- uses: cycjimmy/semantic-release-action@v2
245
+ uses: cycjimmy/semantic-release-action@v3
227
246
  id: semantic # Need an `id` for output variables
228
247
  env:
229
248
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
package/action.yml CHANGED
@@ -23,6 +23,9 @@ inputs:
23
23
  extends:
24
24
  required: false
25
25
  description: 'One or several sharable configurations, https://semantic-release.gitbook.io/semantic-release/usage/configuration#extends'
26
+ working_directory:
27
+ required: false
28
+ description: 'Specify another working directory for semantic release. Default one is provided by github.'
26
29
  outputs:
27
30
  new_release_published:
28
31
  description: 'Whether a new release was published'
@@ -38,6 +41,8 @@ outputs:
38
41
  description: 'The distribution channel on which the last release was initially made available (undefined for the default distribution channel).'
39
42
  new_release_notes:
40
43
  description: 'The release notes for the new release.'
44
+ last_release_version:
45
+ description: 'Version of the previous release, if there was one.'
41
46
  runs:
42
- using: 'node12'
47
+ using: 'node16'
43
48
  main: 'index.js'
package/docs/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ # [3.0.0](https://github.com/cycjimmy/semantic-release-action/compare/v2.7.0...v3.0.0) (2022-03-03)
2
+
3
+
4
+ ### Features
5
+
6
+ * 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)
7
+
8
+
9
+ ### BREAKING CHANGES
10
+
11
+ * switch operating environment to node16
12
+
13
+ # [2.7.0](https://github.com/cycjimmy/semantic-release-action/compare/v2.6.0...v2.7.0) (2021-12-12)
14
+
15
+
16
+ ### Features
17
+
18
+ * add working dir ([7126083](https://github.com/cycjimmy/semantic-release-action/commit/71260837fb05623446dee88dd211f7530838b234))
19
+
20
+ # [2.6.0](https://github.com/cycjimmy/semantic-release-action/compare/v2.5.4...v2.6.0) (2021-10-15)
21
+
22
+
23
+ ### Features
24
+
25
+ * add output for last release version ([f8175c6](https://github.com/cycjimmy/semantic-release-action/commit/f8175c649133e2d9be14098cc4d41f7ef32316b6))
26
+
1
27
  ## [2.5.4](https://github.com/cycjimmy/semantic-release-action/compare/v2.5.3...v2.5.4) (2021-04-30)
2
28
 
3
29
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cycjimmy/semantic-release-action",
3
- "version": "2.5.4",
3
+ "version": "3.0.0",
4
4
  "description": "GitHub Action for Semantic Release",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -21,7 +21,10 @@
21
21
  },
22
22
  "homepage": "https://github.com/cycjimmy/semantic-release-action#readme",
23
23
  "dependencies": {
24
- "@actions/core": "^1.2.6",
25
- "@cycjimmy/awesome-js-funcs": "^2.4.0"
24
+ "@actions/core": "^1.6.0",
25
+ "@cycjimmy/awesome-js-funcs": "^3.1.0",
26
+ "@semantic-release/changelog": "^6.0.1",
27
+ "@semantic-release/git": "^10.0.1",
28
+ "semantic-release": "^19.0.2"
26
29
  }
27
30
  }
@@ -1,5 +1,5 @@
1
1
  const core = require('@actions/core');
2
- const stringToJson = require('@cycjimmy/awesome-js-funcs/typeConversion/stringToJson').default;
2
+ const stringToJson = require('@cycjimmy/awesome-js-funcs/cjs/typeConversion/stringToJson').default;
3
3
  const inputs = require('./inputs.json');
4
4
 
5
5
  /**
package/src/index.js CHANGED
@@ -16,6 +16,9 @@ const inputs = require('./inputs.json');
16
16
  * @returns {Promise<void>}
17
17
  */
18
18
  const release = async () => {
19
+ if (core.getInput(inputs.working_directory)) {
20
+ process.chdir(core.getInput(inputs.working_directory));
21
+ }
19
22
  await setUpJob();
20
23
  await installSpecifyingVersionSemantic();
21
24
  await preInstall(core.getInput(inputs.extra_plugins));
package/src/inputs.json CHANGED
@@ -4,5 +4,6 @@
4
4
  "branch": "branch",
5
5
  "extra_plugins": "extra_plugins",
6
6
  "dry_run": "dry_run",
7
- "extends": "extends"
7
+ "extends": "extends",
8
+ "working_directory": "working_directory"
8
9
  }
package/src/outputs.json CHANGED
@@ -5,5 +5,6 @@
5
5
  "new_release_minor_version": "new_release_minor_version",
6
6
  "new_release_patch_version": "new_release_patch_version",
7
7
  "new_release_channel": "new_release_channel",
8
- "new_release_notes": "new_release_notes"
8
+ "new_release_notes": "new_release_notes",
9
+ "last_release_version": "last_release_version"
9
10
  }
@@ -40,4 +40,5 @@ module.exports = async (result) => {
40
40
  core.setOutput(outputs.new_release_patch_version, patch);
41
41
  core.setOutput(outputs.new_release_channel, channel);
42
42
  core.setOutput(outputs.new_release_notes, notes);
43
+ core.setOutput(outputs.last_release_version, lastRelease.version)
43
44
  };