mirror of
https://github.com/cycjimmy/semantic-release-action.git
synced 2026-02-07 21:47:25 +00:00
Compare commits
52 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
acb3d1c023 | ||
|
|
7922aa4386 | ||
|
|
6e9611f599 | ||
|
|
7aa5b5ea90 | ||
|
|
cabafd6705 | ||
|
|
8dc9474c5c | ||
|
|
c894d87299 | ||
|
|
23f28d6b9a | ||
|
|
8c3e4f586e | ||
|
|
5b8d1ccbaa | ||
|
|
e0b75dd3b9 | ||
|
|
8ebfa72b1f | ||
|
|
7aabe5626b | ||
|
|
132e967011 | ||
|
|
fb28efae68 | ||
|
|
2d010c7798 | ||
|
|
ed948e207e | ||
|
|
14d79a8239 | ||
|
|
b12c8f6015 | ||
|
|
f80bc73384 | ||
|
|
089129701b | ||
|
|
9246c0bd17 | ||
|
|
e878abf189 | ||
|
|
acd6d5df2b | ||
|
|
100d1fb3a3 | ||
|
|
ea00aee834 | ||
|
|
e03fa181e1 | ||
|
|
36bdefbcf6 | ||
|
|
ba330626c4 | ||
|
|
b67d9790a5 | ||
|
|
451bf1fa96 | ||
|
|
ebcbc66374 | ||
|
|
79d9929b57 | ||
|
|
2d054a5550 | ||
|
|
4267eee560 | ||
|
|
8e71605483 | ||
|
|
d0147331ab | ||
|
|
8f46764b73 | ||
|
|
cc1a3d73b8 | ||
|
|
c868a78cfc | ||
|
|
9cc899c47e | ||
|
|
5362fd1cca | ||
|
|
92100d1315 | ||
|
|
78693238b0 | ||
|
|
db700e46d1 | ||
|
|
9a24fc62fd | ||
|
|
fc78113e7a | ||
|
|
16ca923e6c | ||
|
|
5d996b8178 | ||
|
|
b7db0cbbf5 | ||
|
|
8333fcccaa | ||
|
|
d9fa6f1462 |
10 changed files with 1705 additions and 6307 deletions
2
.github/workflows/checkPullRequest.yml
vendored
2
.github/workflows/checkPullRequest.yml
vendored
|
|
@ -11,7 +11,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Semantic Release
|
||||
uses: ./
|
||||
|
|
|
|||
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
|
|
@ -16,7 +16,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Semantic Release
|
||||
uses: ./
|
||||
|
|
@ -46,9 +46,9 @@ jobs:
|
|||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
- name: Setup Node.js with GitHub Package Registry
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 20
|
||||
node-version: 24
|
||||
registry-url: 'https://npm.pkg.github.com'
|
||||
scope: 'cycjimmy'
|
||||
|
||||
|
|
|
|||
4
.github/workflows/testRelease.yml
vendored
4
.github/workflows/testRelease.yml
vendored
|
|
@ -16,7 +16,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Semantic Release
|
||||
uses: ./
|
||||
|
|
@ -59,7 +59,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Semantic Release
|
||||
uses: ./
|
||||
|
|
|
|||
52
README.md
52
README.md
|
|
@ -18,16 +18,16 @@ GitHub Action for [Semantic Release][semantic-url].
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
```
|
||||
|
||||
**IMPORTANT**: `GITHUB_TOKEN` does not have the required permissions to operate on protected branches.
|
||||
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@v4` by setting the parameter `persist-credentials: false`. This credential does not have the required permission to operate on protected branches.
|
||||
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@v5` by setting the parameter `persist-credentials: false`. This credential does not have the required permission to operate on protected branches.
|
||||
|
||||
#### Private Packages
|
||||
|
||||
|
|
@ -63,9 +63,9 @@ then make sure that you configure this in your `package.json` file:
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
semantic_version: 19.0.5 # It is recommended to specify a version range
|
||||
# for semantic-release when using
|
||||
|
|
@ -75,7 +75,7 @@ steps:
|
|||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
```
|
||||
|
||||
If no version range is specified with `cycjimmy/semantic-release-action@v4` then [semantic-release](https://github.com/semantic-release/semantic-release/) version [21.1.1](https://github.com/semantic-release/semantic-release/releases/tag/v21.1.1) is used.
|
||||
If no version range is specified with `cycjimmy/semantic-release-action@v6` then [semantic-release](https://github.com/semantic-release/semantic-release/) version [24.2.7](https://github.com/semantic-release/semantic-release/releases/tag/v25.0.2) is used.
|
||||
|
||||
#### branches
|
||||
> {Optional Input Parameter} The branches on which releases should happen.<br>`branches` supports for **semantic-release above v16**.
|
||||
|
|
@ -83,9 +83,9 @@ If no version range is specified with `cycjimmy/semantic-release-action@v4` then
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
semantic_version: 16
|
||||
# you can set branches for semantic-release above v16.
|
||||
|
|
@ -129,9 +129,9 @@ See [configuration#branches](https://semantic-release.gitbook.io/semantic-releas
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
semantic_version: 15.13.28
|
||||
# you can set branch for semantic-release older than v16.
|
||||
|
|
@ -154,9 +154,9 @@ Github Action Workflow:
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
# You can specify specifying version range for the extra plugins if you prefer.
|
||||
extra_plugins: |
|
||||
|
|
@ -184,9 +184,9 @@ Release Config:
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
dry_run: true
|
||||
env:
|
||||
|
|
@ -200,9 +200,9 @@ steps:
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
ci: false
|
||||
env:
|
||||
|
|
@ -218,9 +218,9 @@ The action can be used with `extends` option to extend an existing [sharable con
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
# You can extend an existing shareable configuration.
|
||||
# And you can specify version range for the shareable configuration if you prefer.
|
||||
|
|
@ -238,9 +238,9 @@ This action run semantic release in the github provided workspace by default. Yo
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
# You can select another working directory like a subdirectory for example.
|
||||
working_directory: ./code
|
||||
|
|
@ -255,9 +255,9 @@ The default tag format on semantic-release is `v{version}`. You can override tha
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
tag_format: custom-v${version}
|
||||
env:
|
||||
|
|
@ -271,7 +271,7 @@ Setting this to true will unset the `GITHUB_ACTIONS` environment variable. This
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Temporarily merge PR branch
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
run: |
|
||||
|
|
@ -279,7 +279,7 @@ steps:
|
|||
git config --global user.email github-actions@github.com
|
||||
git merge --no-ff origin/${{ github.event.pull_request.head.ref }} --message "${{ github.event.pull_request.title }}"
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
with:
|
||||
unset_gha_env: ${{ github.event_name == 'pull_request' }}
|
||||
ci: ${{ github.event_name == 'pull_request' && false || '' }}
|
||||
|
|
@ -308,9 +308,9 @@ steps:
|
|||
```yaml
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
- name: Semantic Release
|
||||
uses: cycjimmy/semantic-release-action@v4
|
||||
uses: cycjimmy/semantic-release-action@v6
|
||||
id: semantic # Need an `id` for output variables
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
|||
|
|
@ -64,5 +64,5 @@ outputs:
|
|||
last_release_git_tag:
|
||||
description: 'The Git tag associated with the last release, if there was one.'
|
||||
runs:
|
||||
using: 'node20'
|
||||
using: 'node24'
|
||||
main: 'index.js'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,48 @@
|
|||
# [6.0.0](https://github.com/cycjimmy/semantic-release-action/compare/v5.0.2...v6.0.0) (2025-11-17)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **deps:** update semantic-release to version 25 ([9246c0b](https://github.com/cycjimmy/semantic-release-action/commit/9246c0bd17405b1f20450501f39234912258bc50))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* **deps:** Update semantic-release to version 25
|
||||
|
||||
## [5.0.2](https://github.com/cycjimmy/semantic-release-action/compare/v5.0.1...v5.0.2) (2025-10-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* further fix of result handling in windUpJob.task.js ([451bf1f](https://github.com/cycjimmy/semantic-release-action/commit/451bf1fa96343272b4efadb5731fe2e25073d24f)), closes [#264](https://github.com/cycjimmy/semantic-release-action/issues/264)
|
||||
|
||||
## [5.0.1](https://github.com/cycjimmy/semantic-release-action/compare/v5.0.0...v5.0.1) (2025-10-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* improves result handling in windUpJob.task.js ([4267eee](https://github.com/cycjimmy/semantic-release-action/commit/4267eee56034cc3ee6f2fef9bdc3cc125ca073db))
|
||||
|
||||
# [5.0.0](https://github.com/cycjimmy/semantic-release-action/compare/v4.2.2...v5.0.0) (2025-08-30)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* update node version on runner to 24 ([7869323](https://github.com/cycjimmy/semantic-release-action/commit/78693238b0cffcbd79484ca9c3f634c6d1e3978a))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* this action now runs using node 24
|
||||
|
||||
## [4.2.2](https://github.com/cycjimmy/semantic-release-action/compare/v4.2.1...v4.2.2) (2025-07-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **cleanupNpmrc.task.js:** Use @actions/io to remove .npmrc ([b7db0cb](https://github.com/cycjimmy/semantic-release-action/commit/b7db0cbbf5f42eb8fe027828c236fbc340b5429e))
|
||||
|
||||
## [4.2.1](https://github.com/cycjimmy/semantic-release-action/compare/v4.2.0...v4.2.1) (2025-06-07)
|
||||
|
||||
|
||||
|
|
|
|||
7866
package-lock.json
generated
7866
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@cycjimmy/semantic-release-action",
|
||||
"version": "4.2.1",
|
||||
"version": "6.0.0",
|
||||
"description": "GitHub Action for Semantic Release",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
|
@ -21,10 +21,11 @@
|
|||
},
|
||||
"homepage": "https://github.com/cycjimmy/semantic-release-action#readme",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.1",
|
||||
"@actions/core": "^2.0.0",
|
||||
"@actions/io": "^2.0.0",
|
||||
"@cycjimmy/awesome-js-funcs": "^4.0.9",
|
||||
"@semantic-release/changelog": "^6.0.3",
|
||||
"@semantic-release/git": "^10.0.1",
|
||||
"semantic-release": "^24.2.5"
|
||||
"semantic-release": "^25.0.2"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,9 @@
|
|||
const core = require('@actions/core');
|
||||
const exec = require('./_exec');
|
||||
const io = require('@actions/io');
|
||||
|
||||
/**
|
||||
* Clean up `.npmrc` file in the repo after releasing
|
||||
* @returns {Promise<never>}
|
||||
*/
|
||||
module.exports = async () => {
|
||||
const {stdout, stderr} = await exec(`rm -f .npmrc`);
|
||||
core.debug(stdout);
|
||||
|
||||
if (stderr) {
|
||||
return Promise.reject(stderr);
|
||||
}
|
||||
await io.rmRF('.npmrc');
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,23 +7,29 @@ const outputs = require('./outputs.json');
|
|||
* @returns {Promise<void>}
|
||||
*/
|
||||
module.exports = async (result) => {
|
||||
if (!result) {
|
||||
const resolved = await result;
|
||||
if (!resolved) {
|
||||
core.debug('No release published.');
|
||||
return Promise.resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
const {lastRelease, commits, nextRelease, releases} = await result;
|
||||
const {
|
||||
lastRelease = {},
|
||||
commits = [],
|
||||
nextRelease = {},
|
||||
releases = [],
|
||||
} = resolved;
|
||||
|
||||
if (lastRelease.version) {
|
||||
if (lastRelease?.version) {
|
||||
core.debug(`The last release was "${lastRelease.version}".`);
|
||||
core.setOutput(outputs.last_release_version, lastRelease.version);
|
||||
core.setOutput(outputs.last_release_git_head, lastRelease.gitHead);
|
||||
core.setOutput(outputs.last_release_git_tag, lastRelease.gitTag);
|
||||
}
|
||||
|
||||
if (!nextRelease) {
|
||||
if (!nextRelease?.version) {
|
||||
core.debug('No release published.');
|
||||
return Promise.resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
core.debug(`Published ${nextRelease.type} release version ${nextRelease.version} containing ${commits.length} commits.`);
|
||||
|
|
|
|||
Loading…
Reference in a new issue