diff --git a/.releaserc.cjs b/.releaserc-java.cjs similarity index 64% rename from .releaserc.cjs rename to .releaserc-java.cjs index 25db26cbc4..f9ba2b5f98 100644 --- a/.releaserc.cjs +++ b/.releaserc-java.cjs @@ -56,6 +56,7 @@ const Runtimes = { module.exports = { branches: ["main"], repositoryUrl: "git@github.com:aws/aws-database-encryption-sdk-dynamodb.git", + tagFormat: "v${version}-java", plugins: [ // Check the commits since the last release [ @@ -63,7 +64,12 @@ module.exports = { { preset: "conventionalcommits", parserOpts: { - noteKeywords: ["BREAKING-CHANGE", "BREAKING-CHANGES"], + noteKeywords: [ + "JAVA-BREAKING-CHANGE", + "JAVA-BREAKING-CHANGES", + "JAVA BREAKING CHANGE", + "JAVA BREAKING CHANGES", + ], }, presetConfig: { types: [ @@ -79,9 +85,14 @@ module.exports = { ], }, releaseRules: [ - { type: "docs", release: "patch" }, - { type: "revert", release: "patch" }, - { type: "chore", release: "patch" }, + // go is in main but not in prod. Mentioning go as we do make PR scoping Go in this repo + // python is not in main and not in prod. Mentioning python for defensive coding. + { scope: "python", release: false }, + { scope: "dotnet", release: false }, + { scope: ".net", release: false }, + { scope: "net", release: false }, + { scope: "go", release: false }, + { scope: "rust", release: false }, ], }, ], @@ -91,7 +102,12 @@ module.exports = { { preset: "conventionalcommits", parserOpts: { - noteKeywords: ["BREAKING-CHANGE", "BREAKING-CHANGES"], + noteKeywords: [ + "JAVA-BREAKING-CHANGE", + "JAVA-BREAKING-CHANGES", + "JAVA BREAKING CHANGE", + "JAVA BREAKING CHANGES", + ], }, presetConfig: { types: [ @@ -107,13 +123,12 @@ module.exports = { section: "Features -- Java", hidden: false, }, - { - type: "feat", - scope: "rust", - section: "Features -- Rust", - hidden: false, - }, - + { type: "feat", scope: ".net", hidden: true }, + { type: "feat", scope: "net", hidden: true }, + { type: "feat", scope: "dotnet", hidden: true }, + { type: "feat", scope: "python", hidden: true }, + { type: "feat", scope: "go", hidden: true }, + { type: "feat", scope: "rust", hidden: true }, { type: "fix", scope: "dafny", @@ -126,13 +141,12 @@ module.exports = { section: "Fixes -- Java", hidden: false, }, - { - type: "fix", - scope: "rust", - section: "Fixes -- Rust", - hidden: false, - }, - + { type: "fix", scope: ".net", hidden: true }, + { type: "fix", scope: "net", hidden: true }, + { type: "fix", scope: "dotnet", hidden: true }, + { type: "fix", scope: "python", hidden: true }, + { type: "fix", scope: "go", hidden: true }, + { type: "fix", scope: "rust", hidden: true }, { type: "chore", scope: "dafny", @@ -145,12 +159,12 @@ module.exports = { section: "Maintenance -- Java", hidden: false, }, - { - type: "chore", - scope: "rust", - section: "Maintenance -- Rust", - hidden: false, - }, + { type: "chore", scope: ".net", hidden: true }, + { type: "chore", scope: "net", hidden: true }, + { type: "chore", scope: "dotnet", hidden: true }, + { type: "chore", scope: "python", hidden: true }, + { type: "chore", scope: "go", hidden: true }, + { type: "chore", scope: "rust", hidden: true }, { type: "chore", section: "Miscellaneous", @@ -168,12 +182,11 @@ module.exports = { section: "Maintenance -- Java", hidden: false, }, - { - type: "docs", - scope: "rust", - section: "Maintenance -- Rust", - hidden: false, - }, + { type: "docs", scope: ".net", hidden: true }, + { type: "docs", scope: "dotnet", hidden: true }, + { type: "docs", scope: "python", hidden: true }, + { type: "docs", scope: "go", hidden: true }, + { type: "docs", scope: "rust", hidden: true }, { type: "revert", scope: "dafny", @@ -186,10 +199,50 @@ module.exports = { section: "Fixes -- Java", hidden: false, }, + { type: "revert", scope: ".net", hidden: true }, + { type: "revert", scope: "dotnet", hidden: true }, + { type: "revert", scope: "python", hidden: true }, + { type: "revert", scope: "go", hidden: true }, + { type: "revert", scope: "rust", hidden: true }, + { + type: "feat", + section: "Features -- All Languages", + hidden: false, + }, + { type: "fix", section: "Fixes -- All Languages", hidden: false }, + { + type: "chore", + section: "Maintenance -- All Languages", + hidden: false, + }, + { + type: "docs", + section: "Maintenance -- All Languages", + hidden: false, + }, { type: "revert", - scope: "rust", - section: "Fixes -- Rust", + section: "Fixes -- All Languages", + hidden: false, + }, + { + type: "style", + section: "Miscellaneous -- All Languages", + hidden: false, + }, + { + type: "refactor", + section: "Miscellaneous -- All Languages", + hidden: false, + }, + { + type: "perf", + section: "Miscellaneous -- All Languages", + hidden: false, + }, + { + type: "test", + section: "Miscellaneous -- All Languages", hidden: false, }, { type: "style", section: "Miscellaneous", hidden: false }, @@ -204,7 +257,7 @@ module.exports = { [ "@semantic-release/changelog", { - changelogFile: "CHANGELOG.md", + changelogFile: "CHANGELOG-java.md", changelogTitle: "# Changelog", }, ], @@ -231,7 +284,7 @@ module.exports = { "@semantic-release/git", { assets: [ - "CHANGELOG.md", + "CHANGELOG-java.md", ...Object.values(Runtimes).flatMap((r) => Object.keys(r)), ], message: diff --git a/.releaserc-net.cjs b/.releaserc-net.cjs index 86feee0074..1dac0acf57 100644 --- a/.releaserc-net.cjs +++ b/.releaserc-net.cjs @@ -65,7 +65,16 @@ module.exports = { { preset: "conventionalcommits", parserOpts: { - noteKeywords: ["DOTNET-BREAKING-CHANGE", "DOTNET-BREAKING-CHANGES"], + noteKeywords: [ + "DOTNET-BREAKING-CHANGE", + "DOTNET-BREAKING-CHANGES", + "DOTNET BREAKING CHANGE", + "DOTNET BREAKING CHANGES", + "NET-BREAKING-CHANGE", + "NET-BREAKING-CHANGES", + "NET BREAKING CHANGE", + "NET BREAKING CHANGES", + ], }, presetConfig: { types: [ @@ -81,9 +90,12 @@ module.exports = { ], }, releaseRules: [ - { type: "docs", release: "patch" }, - { type: "revert", release: "patch" }, - { type: "chore", release: "patch" }, + // go is in main but not in prod. Mentioning go as we do make PR scoping Go in this repo + // python is not in main and not in prod. Mentioning python for defensive coding. + { scope: "python", release: false }, + { scope: "java", release: false }, + { scope: "go", release: false }, + { scope: "rust", release: false }, ], }, ], @@ -93,7 +105,16 @@ module.exports = { { preset: "conventionalcommits", parserOpts: { - noteKeywords: ["DOTNET-BREAKING-CHANGE", "DOTNET-BREAKING-CHANGES"], + noteKeywords: [ + "DOTNET-BREAKING-CHANGE", + "DOTNET-BREAKING-CHANGES", + "DOTNET BREAKING CHANGE", + "DOTNET BREAKING CHANGES", + "NET-BREAKING-CHANGE", + "NET-BREAKING-CHANGES", + "NET BREAKING CHANGE", + "NET BREAKING CHANGES", + ], }, presetConfig: { types: [ @@ -109,6 +130,10 @@ module.exports = { section: "Features -- DotNet", hidden: false, }, + { type: "feat", scope: "java", hidden: true }, + { type: "feat", scope: "python", hidden: true }, + { type: "feat", scope: "go", hidden: true }, + { type: "feat", scope: "rust", hidden: true }, { type: "fix", scope: "dafny", @@ -121,6 +146,10 @@ module.exports = { section: "Fixes -- DotNet", hidden: false, }, + { type: "fix", scope: "java", hidden: true }, + { type: "fix", scope: "python", hidden: true }, + { type: "fix", scope: "go", hidden: true }, + { type: "fix", scope: "rust", hidden: true }, { type: "chore", scope: "dafny", @@ -133,6 +162,10 @@ module.exports = { section: "Maintenance -- DotNet", hidden: false, }, + { type: "chore", scope: "java", hidden: true }, + { type: "chore", scope: "python", hidden: true }, + { type: "chore", scope: "go", hidden: true }, + { type: "chore", scope: "rust", hidden: true }, { type: "docs", scope: "dafny", @@ -145,6 +178,10 @@ module.exports = { section: "Maintenance -- DotNet", hidden: false, }, + { type: "docs", scope: "java", hidden: true }, + { type: "docs", scope: "python", hidden: true }, + { type: "docs", scope: "go", hidden: true }, + { type: "docs", scope: "rust", hidden: true }, { type: "revert", scope: "dafny", @@ -157,6 +194,51 @@ module.exports = { section: "Fixes -- DotNet", hidden: false, }, + { type: "revert", scope: "java", hidden: true }, + { type: "revert", scope: "python", hidden: true }, + { type: "revert", scope: "go", hidden: true }, + { type: "revert", scope: "rust", hidden: true }, + { + type: "feat", + section: "Features -- All Languages", + hidden: false, + }, + { type: "fix", section: "Fixes -- All Languages", hidden: false }, + { + type: "chore", + section: "Maintenance -- All Languages", + hidden: false, + }, + { + type: "docs", + section: "Maintenance -- All Languages", + hidden: false, + }, + { + type: "revert", + section: "Fixes -- All Languages", + hidden: false, + }, + { + type: "style", + section: "Miscellaneous -- All Languages", + hidden: false, + }, + { + type: "refactor", + section: "Miscellaneous -- All Languages", + hidden: false, + }, + { + type: "perf", + section: "Miscellaneous -- All Languages", + hidden: false, + }, + { + type: "test", + section: "Miscellaneous -- All Languages", + hidden: false, + }, { type: "style", section: "Miscellaneous", hidden: false }, { type: "refactor", section: "Miscellaneous", hidden: false }, { type: "perf", section: "Miscellaneous", hidden: false }, @@ -169,7 +251,7 @@ module.exports = { [ "@semantic-release/changelog", { - changelogFile: "CHANGELOG.md", + changelogFile: "CHANGELOG-net.md", changelogTitle: "# Changelog", }, ], @@ -213,7 +295,7 @@ module.exports = { "@semantic-release/git", { assets: [ - "CHANGELOG.md", + "CHANGELOG-net.md", ...Object.values(Runtimes).flatMap((r) => Object.keys(r)), ...Object.values(Runtimes.net).flatMap((r) => r.assemblyInfo), ], diff --git a/Makefile b/Makefile index 30ec89950b..3fa12ae7e9 100644 --- a/Makefile +++ b/Makefile @@ -79,22 +79,22 @@ generate_properties_file: setup_semantic_release: npm i --no-save semantic-release @semantic-release/changelog semantic-release-replace-plugin conventional-changelog-conventionalcommits @semantic-release/git -run_semantic_release: +run_java_semantic_release: + mv .releaserc-java.cjs .releaserc.cjs npx semantic-release --no-ci + mv .releaserc.cjs .releaserc-java.cjs run_net_semantic_release: - mv .releaserc.cjs .releaserc-main.cjs mv .releaserc-net.cjs .releaserc.cjs npx semantic-release --no-ci mv .releaserc.cjs .releaserc-net.cjs - mv .releaserc-main.cjs .releaserc.cjs -dry_run_semantic_release: +dry_run_java_semantic_release: + mv .releaserc-java.cjs .releaserc.cjs npx semantic-release --dry-run + mv .releaserc.cjs .releaserc-java.cjs dry_run_net_semantic_release: - mv .releaserc.cjs .releaserc-main.cjs mv .releaserc-net.cjs .releaserc.cjs npx semantic-release --dry-run - mv .releaserc.cjs .releaserc-net.cjs - mv .releaserc-main.cjs .releaserc.cjs \ No newline at end of file + mv .releaserc.cjs .releaserc-net.cjs \ No newline at end of file