generated from tlibjs/package-template
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
release.config.js
51 lines (49 loc) · 1.27 KB
/
release.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const CARGO_PROJECTS = [
//
"frender",
];
const CARGO_FILES = CARGO_PROJECTS.map((dir) => `${dir}/Cargo.toml`);
module.exports = {
branches: [
"+([0-9])?(.{+([0-9]),x}).x",
"main",
"next",
"next-major",
{ name: "beta", prerelease: true },
{ name: "alpha", prerelease: true },
],
plugins: [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@google/semantic-release-replace-plugin",
{
replacements: [
{
files: CARGO_FILES,
from: 'version = ".*" # replace version',
to: 'version = "${nextRelease.version}" # replace version',
results: CARGO_FILES.map((file) => ({
file,
hasChanged: true,
numMatches: 1,
numReplacements: 1,
})),
countMatches: true,
},
],
},
],
["@semantic-release/exec", { prepareCmd: "cargo check" }],
...CARGO_PROJECTS.map((pro) => [
"@semantic-release/exec",
{ publishCmd: "cargo publish", execCwd: pro },
]),
[
"@semantic-release/git",
{ assets: ["CHANGELOG.md", "Cargo.lock", ...CARGO_FILES] },
],
"@semantic-release/github",
],
};