Step | Description |
---|---|
verifyConditions |
Execute a shell command to verify if the CODEOWNERS file can be created. |
verifyRelease |
Execute a shell command to create the CODEOWNERS file. |
Options | Description | Default |
---|---|---|
excludeRegex |
RegEx to exclude authors when creating the CODEOWNERS file. | "" |
header |
String inserted in the first line of the CODEOWNERS file as header. | Autogen comment (see code) |
codeownersPath |
Path where to create the CODEOWNERS file. | .gitlab/CODEOWNERS |
limit |
Number of authors obtained from the ranking of authors with the most commits. | 3 |
leaderboard |
Generates the ranking of authors with the most commits and includes it as a comment in the CODEOWNERS file. | true |
$ npm install @maggioli-rd/sr-codeowners-plugin -D
The plugin can be configured in the semantic-release configuration file:
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
["@semantic-release/git", {
"assets": [
"CHANGELOG.md",
"pubspec.yaml",
"CODEOWNERS"
],
"message": "chore(release): ${nextRelease.version}\n\n${nextRelease.notes}"
}],
["@maggioli-rd/sr-codeowners-plugin", {
"excludeRegex": "semantic-release-bot",
"codeownersPath": "CODEOWNERS",
"limit": 2
}]
]
}
var config = require('@maggioli-rd/semantic-release-flutter');
var gitPluginIndex = config.plugins.findIndex((plugin) => plugin.includes("@semantic-release/git"))
config.plugins[gitPluginIndex][1]["assets"].push(".gitlab/CODEOWNERS")
config.plugins.push(
["@maggioli-rd/sr-codeowners-plugin", {
"excludeRegex": "RenovateBot|semantic-release-bot",
"limit": 5,
"header": "My personal header"
}]
)
module.exports = config