mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 06:33:37 +08:00
129 lines
3.3 KiB
JavaScript
129 lines
3.3 KiB
JavaScript
const version = '${version}';
|
|
|
|
const isRelease = process.argv.includes('--release');
|
|
const preRelease = process.argv.find(arg => arg.startsWith('--preRelease='));
|
|
const preReleaseName = preRelease ? (preRelease.split('=')[1]) : '';
|
|
// const tagMatchOpts = isRelease ? {} : { tagMatch: `v[0-9]*.[0-9]*.[0-9]*-${preReleaseName}.[0-9]*` };
|
|
const tagMatchOpts = isRelease ? { tagExclude: `*[-]*` } : {};
|
|
|
|
console.log(`Release(${isRelease ? true : preReleaseName}): `, process.argv.join(' '));
|
|
console.log(`TagMatch: ${tagMatchOpts}`);
|
|
|
|
module.exports = {
|
|
plugins: {
|
|
'@release-it/conventional-changelog': {
|
|
infile: `CHANGELOG${isRelease ? '' : '-' + preReleaseName.toUpperCase()}.md`,
|
|
preset: {
|
|
name: "conventionalcommits",
|
|
types: [
|
|
{
|
|
type: "feat",
|
|
section: "新特性",
|
|
},
|
|
{
|
|
type: "fix",
|
|
section: "修复BUG",
|
|
},
|
|
{
|
|
type: "perf",
|
|
section: "性能优化",
|
|
},
|
|
{
|
|
type: "revert",
|
|
section: "回滚",
|
|
},
|
|
{
|
|
type: "docs",
|
|
section: "文档",
|
|
},
|
|
{
|
|
type: "style",
|
|
section: "代码格式",
|
|
},
|
|
{
|
|
type: "refactor",
|
|
section: "重构",
|
|
},
|
|
{
|
|
type: "test",
|
|
section: "测试",
|
|
},
|
|
{
|
|
type: "build",
|
|
section: "构建",
|
|
},
|
|
{
|
|
type: "ci",
|
|
section: "CI",
|
|
},
|
|
{
|
|
type: "chore",
|
|
section: "其他",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
'release-it-gitea': {
|
|
releaseTitle: "🎉 v${version}",
|
|
releaseNotes: (t) => {
|
|
const lines = t.changelog.split('\n');
|
|
|
|
const cateLines = lines.filter(line => line.startsWith('###') || line.startsWith('* '));
|
|
|
|
const cateMap = {};
|
|
let currentCate = '';
|
|
|
|
cateLines.forEach(line => {
|
|
if (line.startsWith('###')) {
|
|
currentCate = line;
|
|
cateMap[currentCate] = cateMap[currentCate] || [];
|
|
} else {
|
|
cateMap[currentCate].push(line);
|
|
}
|
|
});
|
|
|
|
return Object.entries(cateMap).map(([cate, lines]) => {
|
|
return `${cate}\n\n${lines.map(line => `${line}`).join('\n')}\n`;
|
|
}).join('\n');
|
|
},
|
|
assets: [
|
|
{
|
|
"path": "dist/**/*.map",
|
|
"name": "sourcemap.zip",
|
|
"type": "zip"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
git: {
|
|
push: true,
|
|
tagName: `v${version}`,
|
|
commitsPath: '.',
|
|
commitMessage: `chore: released version v${version} [no ci]`,
|
|
requireCommits: false,
|
|
requireCommitsFail: false,
|
|
getLatestTagFromAllRefs: true,
|
|
requireBranch: ['main', 'dev'],
|
|
...tagMatchOpts,
|
|
},
|
|
npm: {
|
|
publish: false,
|
|
ignoreVersion: true,
|
|
tag: preReleaseName ? preReleaseName : 'latest',
|
|
versionArgs: ['--workspaces false'],
|
|
},
|
|
github: {
|
|
release: false,
|
|
releaseName: `Release v${version}`,
|
|
autoGenerate: true,
|
|
skipChecks: true,
|
|
host: 'git.bjxgj.com'
|
|
},
|
|
hooks: {
|
|
'before:release': [
|
|
`echo '\${version}' > /tmp/last-version`,
|
|
'git add --all',
|
|
'npm run build'
|
|
],
|
|
}
|
|
}; |