semantic-release 17.0.0 → 17.0.4
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/docs/extending/plugins-list.md +4 -0
- package/docs/support/troubleshooting.md +13 -0
- package/docs/usage/configuration.md +1 -1
- package/index.js +4 -2
- package/package.json +10 -10
|
@@ -95,3 +95,7 @@
|
|
|
95
95
|
- `verifyConditions`: Checks the project.clj is syntactically valid.
|
|
96
96
|
- `prepare`: Update the project.clj version and package the output jar file.
|
|
97
97
|
- `publish`: Publish the jar (and generated Maven metadata) to a maven repository (or clojars).
|
|
98
|
+
- [@saithodev/semantic-release-gitea](https://github.com/saitho/semantic-release-gitea)
|
|
99
|
+
- `verifyConditions`: Verify the presence and the validity of the authentication and the assets option configuration.
|
|
100
|
+
- `publish`: Publish a Gitea release, optionally uploading file assets.
|
|
101
|
+
- `addChannel`: Update a Gitea release's pre-release field.
|
|
@@ -54,3 +54,16 @@ $ git branch --contains <tag name>
|
|
|
54
54
|
$ git tag -d <tag name>
|
|
55
55
|
$ git push origin :refs/tags/<tag name>
|
|
56
56
|
```
|
|
57
|
+
|
|
58
|
+
## release not found release branch after `git push --force`
|
|
59
|
+
|
|
60
|
+
**semantic-release** is using both [git tags](https://git-scm.com/docs/git-tag) and [git notes](https://git-scm.com/docs/git-notes) to store information about which releases happened in which branch.
|
|
61
|
+
|
|
62
|
+
After a git history rewrite due to a `git push --force`, the git tags and notes referencing the commits that were rewritten are lost.
|
|
63
|
+
|
|
64
|
+
To recover from that situation, do the following:
|
|
65
|
+
|
|
66
|
+
1. Delete the tag(s) for the release(s) that have been lost from the git history. You can delete each tag from remote using `git push origin :[TAG NAME]`, e.g. `git push origin :v2.0.0-beta.1`. You can delete tags locally using `git tag -d [TAG NAME]`, e.g. `git tag -d v2.0.0-beta.1`.
|
|
67
|
+
2. Re-create the tags locally: `git tag [TAG NAME] [COMMIT HASH]`, where `[COMMIT HASH]` is the new commit that created the release for the lost tag. E.g. `git tag v2.0.0-beta.1 abcdef0`
|
|
68
|
+
3. Re-create the git notes for each release tag, e.g. `git notes --ref semantic-release add -f -m '{"channels":["beta"]}' v3.0.0-beta.1`. If the release was also published in the default channel (usually `master`), then set the first channel to `null`, e.g. `git notes --ref semantic-release add -f -m '{"channels":[null, "beta"]}'
|
|
69
|
+
4. Push the local notes: `git push --force origin refs/notes/semantic-release`. The `--force` is needed after the rebase. Be careful.
|
package/index.js
CHANGED
|
@@ -52,7 +52,7 @@ async function run(context, plugins) {
|
|
|
52
52
|
// Verify config
|
|
53
53
|
await verify(context);
|
|
54
54
|
|
|
55
|
-
options.repositoryUrl = await getGitAuthUrl(context);
|
|
55
|
+
options.repositoryUrl = await getGitAuthUrl({...context, branch: {name: ciBranch}});
|
|
56
56
|
context.branches = await getBranches(options.repositoryUrl, ciBranch, context);
|
|
57
57
|
context.branch = context.branches.find(({name}) => name === ciBranch);
|
|
58
58
|
|
|
@@ -66,7 +66,9 @@ async function run(context, plugins) {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
logger[options.dryRun ? 'warn' : 'success'](
|
|
69
|
-
`Run automated release from branch ${ciBranch}${options.
|
|
69
|
+
`Run automated release from branch ${ciBranch} on repository ${options.repositoryUrl}${
|
|
70
|
+
options.dryRun ? ' in dry-run mode' : ''
|
|
71
|
+
}`
|
|
70
72
|
);
|
|
71
73
|
|
|
72
74
|
try {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "semantic-release",
|
|
3
3
|
"description": "Automated semver compliant package publishing",
|
|
4
|
-
"version": "17.0.
|
|
4
|
+
"version": "17.0.4",
|
|
5
5
|
"author": "Stephan Bönnemann <stephan@boennemann.me> (http://boennemann.me)",
|
|
6
6
|
"ava": {
|
|
7
7
|
"files": [
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"Pierre Vanduynslager (https://twitter.com/@pvdlg_)"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@semantic-release/commit-analyzer": "^
|
|
23
|
+
"@semantic-release/commit-analyzer": "^8.0.0",
|
|
24
24
|
"@semantic-release/error": "^2.2.0",
|
|
25
|
-
"@semantic-release/github": "^
|
|
26
|
-
"@semantic-release/npm": "^
|
|
27
|
-
"@semantic-release/release-notes-generator": "^
|
|
25
|
+
"@semantic-release/github": "^7.0.0",
|
|
26
|
+
"@semantic-release/npm": "^7.0.0",
|
|
27
|
+
"@semantic-release/release-notes-generator": "^9.0.0",
|
|
28
28
|
"aggregate-error": "^3.0.0",
|
|
29
29
|
"cosmiconfig": "^6.0.0",
|
|
30
30
|
"debug": "^4.0.0",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"hosted-git-info": "^3.0.0",
|
|
39
39
|
"lodash": "^4.17.15",
|
|
40
40
|
"marked": "^0.8.0",
|
|
41
|
-
"marked-terminal": "^
|
|
41
|
+
"marked-terminal": "^4.0.0",
|
|
42
42
|
"micromatch": "^4.0.2",
|
|
43
43
|
"p-each-series": "^2.1.0",
|
|
44
44
|
"p-reduce": "^2.0.0",
|
|
@@ -57,17 +57,17 @@
|
|
|
57
57
|
"dockerode": "^3.0.0",
|
|
58
58
|
"file-url": "^3.0.0",
|
|
59
59
|
"fs-extra": "^8.0.0",
|
|
60
|
-
"got": "^10.2
|
|
60
|
+
"got": "^10.5.2",
|
|
61
61
|
"js-yaml": "^3.10.0",
|
|
62
62
|
"mockserver-client": "^5.1.1",
|
|
63
|
-
"nock": "^
|
|
63
|
+
"nock": "^12.0.0",
|
|
64
64
|
"nyc": "^15.0.0",
|
|
65
65
|
"p-retry": "^4.0.0",
|
|
66
66
|
"proxyquire": "^2.0.0",
|
|
67
67
|
"sinon": "^8.0.4",
|
|
68
68
|
"stream-buffers": "^3.0.2",
|
|
69
|
-
"tempy": "^0.
|
|
70
|
-
"xo": "^0.
|
|
69
|
+
"tempy": "^0.4.0",
|
|
70
|
+
"xo": "^0.26.0"
|
|
71
71
|
},
|
|
72
72
|
"engines": {
|
|
73
73
|
"node": ">=10.18"
|