Semvar fixes
This commit is contained in:
@@ -200,6 +200,6 @@ logger.debug("state", () => buildHugeSnapshot()); // skipped when debug is suppr
|
|||||||
|
|
||||||
Woodpecker verifies pull requests and `main`, reports CI to Mattermost, then automatically releases from Conventional Commits merged to `main`. It updates `package.json` and `CHANGELOG.md`, creates a `vX.Y.Z` tag, and publishes to the private `@mifi` registry.
|
Woodpecker verifies pull requests and `main`, reports CI to Mattermost, then automatically releases from Conventional Commits merged to `main`. It updates `package.json` and `CHANGELOG.md`, creates a `vX.Y.Z` tag, and publishes to the private `@mifi` registry.
|
||||||
|
|
||||||
Use `fix:` for a patch, `feat:` for a minor release, and `!` or a `BREAKING CHANGE:` footer for a major release. Commits such as `docs:`, `test:`, and `chore:` do not release a package.
|
Use `fix:` for a patch, `feat:` for a minor release, and `feat!` / `fix!` (or a `BREAKING CHANGE:` footer) for a major release. Commits such as `docs:`, `test:`, and `chore:` do not release a package.
|
||||||
|
|
||||||
The release workflow uses the existing global `gitea_package_token`, `gitea_registry_username`, `gitea_release_token`, `mattermost_bot_access_token`, `mattermost_tests_channel_id`, `mattermost_pushes_channel_id`, and `mattermost_post_api_url` secrets.
|
The release workflow uses the existing global `gitea_package_token`, `gitea_registry_username`, `gitea_release_token`, `mattermost_bot_access_token`, `mattermost_tests_channel_id`, `mattermost_pushes_channel_id`, and `mattermost_post_api_url` secrets.
|
||||||
|
|||||||
+12
-2
@@ -5,13 +5,23 @@ const repositoryUrl =
|
|||||||
? `https://${encodeURIComponent(releaseUsername)}:${encodeURIComponent(releaseToken)}@git.mifi.dev/mifi/logger.git`
|
? `https://${encodeURIComponent(releaseUsername)}:${encodeURIComponent(releaseToken)}@git.mifi.dev/mifi/logger.git`
|
||||||
: "https://git.mifi.dev/mifi/logger.git";
|
: "https://git.mifi.dev/mifi/logger.git";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default Angular preset rejects `feat!` / `fix!` headers entirely (no release).
|
||||||
|
* These parser options match Conventional Commits so `!` becomes a BREAKING CHANGE note.
|
||||||
|
*/
|
||||||
|
const conventionalCommitParserOpts = {
|
||||||
|
headerPattern: /^(\w*)(?:\((.*)\))?!?: (.*)$/,
|
||||||
|
breakingHeaderPattern: /^(\w*)(?:\((.*)\))?!: (.*)$/,
|
||||||
|
noteKeywords: ["BREAKING CHANGE", "BREAKING-CHANGE"],
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
branches: ["main"],
|
branches: ["main"],
|
||||||
repositoryUrl,
|
repositoryUrl,
|
||||||
tagFormat: "v${version}",
|
tagFormat: "v${version}",
|
||||||
plugins: [
|
plugins: [
|
||||||
"@semantic-release/commit-analyzer",
|
["@semantic-release/commit-analyzer", { parserOpts: conventionalCommitParserOpts }],
|
||||||
"@semantic-release/release-notes-generator",
|
["@semantic-release/release-notes-generator", { parserOpts: conventionalCommitParserOpts }],
|
||||||
["@semantic-release/changelog", { changelogFile: "CHANGELOG.md" }],
|
["@semantic-release/changelog", { changelogFile: "CHANGELOG.md" }],
|
||||||
"@semantic-release/npm",
|
"@semantic-release/npm",
|
||||||
[
|
[
|
||||||
|
|||||||
Reference in New Issue
Block a user