diff --git a/docs/configuration.md b/docs/configuration.md index baf7c146360d543727f1e7f45a6d50448efa7b48..27535462ef9b07f6b2cb7b2f2342f62a12b98937 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -310,7 +310,7 @@ Obviously, you can't set repository or package file location with this method. <td>`dependencies`</td> <td>Configuration specifically for `package.json`>`dependencies`</td> <td>json</td> - <td><pre>{"semanticPrefix": "fix(deps):"}</pre></td> + <td><pre>{"semanticCommitType": "fix"}</pre></td> <td>`RENOVATE_DEPENDENCIES`</td> <td><td> </tr> @@ -501,11 +501,8 @@ Obviously, you can't set repository or package file location with this method. "recreateClosed": true, "rebaseStalePrs": true, "groupName": "Pin Dependencies", - "group": { - "commitMessage": "Pin Dependencies", - "prTitle": "{{groupName}}", - "semanticPrefix": "refactor(deps):" - } + "semanticCommitType": "refactor", + "group": {"commitMessage": "Pin Dependencies", "prTitle": "{{groupName}}"} }</pre></td> <td>`RENOVATE_PIN`</td> <td><td> @@ -514,7 +511,7 @@ Obviously, you can't set repository or package file location with this method. <td>`digest`</td> <td>Configuration to apply when updating a Docker digest (same tag)</td> <td>json</td> - <td><pre>{"semanticPrefix": "refactor(deps):"}</pre></td> + <td><pre>{"semanticCommitType": "refactor"}</pre></td> <td>`RENOVATE_DIGEST`</td> <td><td> </tr> @@ -527,12 +524,20 @@ Obviously, you can't set repository or package file location with this method. <td>`--semantic-commits`<td> </tr> <tr> - <td>`semanticPrefix`</td> - <td>Prefix to use if semantic commits are enabled</td> + <td>`semanticCommitType`</td> + <td>Commit type to use if semantic commits is enabled</td> + <td>string</td> + <td><pre>"chore"</pre></td> + <td>`RENOVATE_SEMANTIC_COMMIT_TYPE`</td> + <td>`--semantic-commit-type`<td> +</tr> +<tr> + <td>`semanticCommitScope`</td> + <td>Conmmit scope to use if semantic commits are enabled</td> <td>string</td> - <td><pre>"chore(deps):"</pre></td> - <td>`RENOVATE_SEMANTIC_PREFIX`</td> - <td>`--semantic-prefix`<td> + <td><pre>"deps"</pre></td> + <td>`RENOVATE_SEMANTIC_COMMIT_SCOPE`</td> + <td>`--semantic-commit-scope`<td> </tr> <tr> <td>`recreateClosed`</td> diff --git a/lib/config/definitions.js b/lib/config/definitions.js index 6428c27e0a2d4c0b1e4ccf94ac5342189021afed..be73d8a4c028e0960c7bcd60a8a617522038ba32 100644 --- a/lib/config/definitions.js +++ b/lib/config/definitions.js @@ -209,7 +209,7 @@ const options = [ description: 'Configuration specifically for `package.json`>`dependencies`', stage: 'packageFile', type: 'json', - default: { semanticPrefix: 'fix(deps):' }, + default: { semanticCommitType: 'fix' }, mergeable: true, cli: false, }, @@ -415,7 +415,7 @@ const options = [ recreateClosed: true, rebaseStalePrs: true, groupName: 'Pin Dependencies', - semanticPrefix: 'refactor(deps):', + semanticCommitType: 'refactor', group: { commitMessage: 'Pin Dependencies', prTitle: '{{groupName}}', @@ -431,7 +431,7 @@ const options = [ stage: 'package', type: 'json', default: { - semanticPrefix: 'refactor(deps):', + semanticCommitType: 'refactor', }, cli: false, mergeable: true, @@ -444,10 +444,16 @@ const options = [ default: null, }, { - name: 'semanticPrefix', - description: 'Prefix to use if semantic commits are enabled', + name: 'semanticCommitType', + description: 'Commit type to use if semantic commits is enabled', type: 'string', - default: 'chore(deps):', + default: 'chore', + }, + { + name: 'semanticCommitScope', + description: 'Conmmit scope to use if semantic commits are enabled', + type: 'string', + default: 'deps', }, // PR Behaviour { diff --git a/lib/config/migration.js b/lib/config/migration.js index 55dd527ab553667262453d983cb98d2361b7f0d9..7f7602f3a45aff85c756e1b3a4ce60183c646a25 100644 --- a/lib/config/migration.js +++ b/lib/config/migration.js @@ -36,6 +36,17 @@ function migrateConfig(config) { if (removedOptions.includes(key)) { isMigrated = true; delete migratedConfig[key]; + } else if (key === 'semanticPrefix') { + isMigrated = true; + delete migratedConfig.semanticPrefix; + let [text] = val.split(':'); + text = text.split('('); + [migratedConfig.semanticCommitType] = text; + if (text.length > 1) { + [migratedConfig.semanticCommitScope] = text[1].split(')'); + } else { + migratedConfig.semanticCommitScope = null; + } } else if (key === 'automergeMinor') { isMigrated = true; migratedConfig.minor = migratedConfig.minor || {}; @@ -178,12 +189,6 @@ function migrateConfig(config) { ) { isMigrated = true; migratedConfig[key] = val.replace('{{semanticPrefix}}', ''); - } else if (key === 'semanticPrefix') { - // strip trailing space - if (val && val[val.length - 1] === ' ') { - isMigrated = true; - migratedConfig[key] = val.substring(0, val.length - 1); - } } else if (key === 'depTypes' && Array.isArray(val)) { val.forEach(depType => { if (isObject(depType)) { diff --git a/lib/workers/branch/commit.js b/lib/workers/branch/commit.js index 5e8c6fb197353c28f590bdc53558a3ef16e91d46..1916f10fa360ce5a6b2d919051546970600f69bb 100644 --- a/lib/workers/branch/commit.js +++ b/lib/workers/branch/commit.js @@ -14,7 +14,11 @@ async function commitFilesToBranch(config) { if (config.semanticCommits) { const splitMessage = commitMessage.split('\n'); splitMessage[0] = splitMessage[0].toLowerCase(); - commitMessage = `${config.semanticPrefix} ${splitMessage.join('\n')}`; + let semanticPrefix = config.semanticCommitType; + if (config.semanticCommitScope) { + semanticPrefix += `(${config.semanticCommitScope})`; + } + commitMessage = `${semanticPrefix}: ${splitMessage.join('\n')}`; } // API will know whether to create new branch or not await platform.commitFilesToBranch( diff --git a/lib/workers/package/versions.js b/lib/workers/package/versions.js index d6a5baa503dc8b71b9121679546c85f04498db73..0835f5de99e17f684dde1f202d353af3c8140ff5 100644 --- a/lib/workers/package/versions.js +++ b/lib/workers/package/versions.js @@ -46,7 +46,7 @@ function determineUpgrades(npmDep, config) { isRollback: true, newVersion: rollbackVersion, newVersionMajor: semver.major(rollbackVersion), - semanticPrefix: 'fix(deps):', + semanticCommitType: 'fix', branchName: '{{branchPrefix}}rollback-{{depNameSanitized}}-{{newVersionMajor}}.x', }; diff --git a/lib/workers/repository/updates/generate.js b/lib/workers/repository/updates/generate.js index b038692531885b1a82a2872121d87068e26a3331..2bba5590ddb8cdac1539e9f4326e90b41d9c4abd 100644 --- a/lib/workers/repository/updates/generate.js +++ b/lib/workers/repository/updates/generate.js @@ -38,9 +38,11 @@ function generateBranchConfig(branchUpgrades) { upgrade.prTitle = handlebars.compile(upgrade.prTitle)(upgrade); if (upgrade.semanticCommits) { logger.debug('Upgrade has semantic commits enabled'); - upgrade.prTitle = `${ - upgrade.semanticPrefix - } ${upgrade.prTitle.toLowerCase()}`; + let semanticPrefix = upgrade.semanticCommitType; + if (upgrade.semanticCommitScope) { + semanticPrefix += `(${upgrade.semanticCommitScope})`; + } + upgrade.prTitle = `${semanticPrefix}: ${upgrade.prTitle.toLowerCase()}`; } logger.debug(`${upgrade.branchName}, ${upgrade.prTitle}`); config.upgrades.push(upgrade); diff --git a/test/config/__snapshots__/migration.spec.js.snap b/test/config/__snapshots__/migration.spec.js.snap index e799604f662b9b88fbb83fd267aa0a458b4d5560..fe68381b9085f3799306f129b07cc4b7f8a38253 100644 --- a/test/config/__snapshots__/migration.spec.js.snap +++ b/test/config/__snapshots__/migration.spec.js.snap @@ -75,7 +75,8 @@ Object { }, "prTitle": "some pr title", "schedule": "on the first day of the month", - "semanticPrefix": "fix(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "fix", } `; diff --git a/test/config/__snapshots__/presets.spec.js.snap b/test/config/__snapshots__/presets.spec.js.snap index ad4559fc0c0fbc90277db01bd6ca89e4395c7fc4..32a21dc9244ef162b1a619d2f1de1c90d17405ad 100644 --- a/test/config/__snapshots__/presets.spec.js.snap +++ b/test/config/__snapshots__/presets.spec.js.snap @@ -236,7 +236,8 @@ Object { "Preserve (but continue to upgrade) any existing semver ranges", ], "pinVersions": false, - "semanticPrefix": "fix(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "fix", }, "description": Array [ "Use <code>renovate/</code> as prefix for all branch names", @@ -249,7 +250,8 @@ Object { "Use version pinning (maintain a single version only and not semver ranges)", ], "pinVersions": true, - "semanticPrefix": "chore(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "chore", }, "ignoreUnstable": true, "labels": Array [ @@ -273,14 +275,16 @@ Object { "Preserve (but continue to upgrade) any existing semver ranges", ], "pinVersions": false, - "semanticPrefix": "chore(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "chore", }, "peerDependencies": Object { "description": Array [ "Preserve (but continue to upgrade) any existing semver ranges", ], "pinVersions": false, - "semanticPrefix": "chore(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "chore", }, "prCreation": "immediate", "rebaseStalePrs": true, @@ -305,7 +309,8 @@ Object { "description": Array [ "Use <code>fix(deps):</code> as semantic prefix for commit messages and PR titles", ], - "semanticPrefix": "fix(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "fix", }, "description": Array [ "Use version pinning (maintain a single version only and not semver ranges)", @@ -324,7 +329,8 @@ Object { "description": Array [ "Use <code>chore(deps):</code> as semantic prefix for commit messages and PR titles", ], - "semanticPrefix": "chore(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "chore", }, "ignoreUnstable": true, "lockFileMaintenance": Object { @@ -334,13 +340,15 @@ Object { "description": Array [ "Use <code>chore(deps):</code> as semantic prefix for commit messages and PR titles", ], - "semanticPrefix": "chore(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "chore", }, "peerDependencies": Object { "description": Array [ "Use <code>chore(deps):</code> as semantic prefix for commit messages and PR titles", ], - "semanticPrefix": "chore(deps):", + "semanticCommitScope": "deps", + "semanticCommitType": "chore", }, "pinVersions": true, "prCreation": "not-pending", diff --git a/test/config/__snapshots__/validation.spec.js.snap b/test/config/__snapshots__/validation.spec.js.snap index c52425562ef38d1dcdf8b1c807ae72872d80b9e0..63af4b2400174b152853531fc5bfbdace882a2ad 100644 --- a/test/config/__snapshots__/validation.spec.js.snap +++ b/test/config/__snapshots__/validation.spec.js.snap @@ -16,7 +16,7 @@ Array [ }, Object { "depName": "Configuration Error", - "message": "Configuration option \`semanticPrefix\` should be a string", + "message": "Configuration option \`semanticCommitType\` should be a string", }, Object { "depName": "Configuration Error", diff --git a/test/config/migration.spec.js b/test/config/migration.spec.js index 84bd881d080c9462e12c5a0116af7cfdebda2977..3e02e8d8125e4da426882b618e47bbaa417c7e93 100644 --- a/test/config/migration.spec.js +++ b/test/config/migration.spec.js @@ -104,6 +104,18 @@ describe('config/migration', () => { expect(isMigrated).toBe(true); expect(migratedConfig.schedule).toEqual('on friday'); }); + it('migrates semantic prefix with no scope', () => { + const config = { + semanticPrefix: 'fix', + }; + const parentConfig = { ...defaultConfig }; + const { isMigrated, migratedConfig } = configMigration.migrateConfig( + config, + parentConfig + ); + expect(isMigrated).toBe(true); + expect(migratedConfig.semanticCommitScope).toBe(null); + }); it('does not migrate every weekday', () => { const config = { schedule: 'every weekday', diff --git a/test/config/validation.spec.js b/test/config/validation.spec.js index af4078dbd9f55bf14b4b077be5645b8183f021c5..213386278a2f4dcbbc2698680c6cd2e133be3d98 100644 --- a/test/config/validation.spec.js +++ b/test/config/validation.spec.js @@ -21,7 +21,7 @@ describe('config/validation', () => { enabled: 1, schedule: ['every 15 mins every weekday'], labels: 5, - semanticPrefix: 7, + semanticCommitType: 7, lockFileMaintenance: false, packageRules: [ { diff --git a/test/manager/__snapshots__/resolve.spec.js.snap b/test/manager/__snapshots__/resolve.spec.js.snap index be7dc4124fce304b5a85584355e392be8fee9f77..1a8c69a8246caf326a05a97ab1d288d10409d56f 100644 --- a/test/manager/__snapshots__/resolve.spec.js.snap +++ b/test/manager/__snapshots__/resolve.spec.js.snap @@ -11,12 +11,12 @@ Object { "branchPrefix": "renovate/", "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -394,7 +394,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -463,8 +463,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -493,12 +494,12 @@ Object { "branchPrefix": "renovate/", "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -887,7 +888,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -956,8 +957,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -981,12 +983,12 @@ Object { "branchPrefix": "renovate/", "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -1583,7 +1585,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -1652,8 +1654,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -1677,12 +1680,12 @@ Object { "branchPrefix": "renovate/", "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -2068,7 +2071,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -2137,8 +2140,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -2162,12 +2166,12 @@ Object { "branchPrefix": "renovate/", "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -2545,7 +2549,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -2614,8 +2618,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -2639,12 +2644,12 @@ Object { "branchPrefix": "renovate/", "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -3022,7 +3027,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -3091,8 +3096,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -3116,12 +3122,12 @@ Object { "branchPrefix": "renovate/", "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -3508,7 +3514,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -3577,8 +3583,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, diff --git a/test/workers/branch/__snapshots__/commit.spec.js.snap b/test/workers/branch/__snapshots__/commit.spec.js.snap index 02ba7911f2356c56630ff8be0dd71906ba5fa6a4..055962807c291b3753e699c16bed347fe4e5ca44 100644 --- a/test/workers/branch/__snapshots__/commit.spec.js.snap +++ b/test/workers/branch/__snapshots__/commit.spec.js.snap @@ -10,7 +10,7 @@ Array [ "name": "package.json", }, ], - "some-prefix some commit message", + "a(b): some commit message", undefined, ], ] diff --git a/test/workers/branch/commit.spec.js b/test/workers/branch/commit.spec.js index e00e3cd18653c6b9ea595fe3defd2610321648a2..80be3f08629dd5d23d1f8fe4186d6e032842300e 100644 --- a/test/workers/branch/commit.spec.js +++ b/test/workers/branch/commit.spec.js @@ -10,7 +10,8 @@ describe('workers/branch/automerge', () => { branchName: 'renovate/some-branch', commitMessage: 'some commit message', semanticCommits: false, - semanticPrefix: 'some-prefix', + semanticCommitType: 'a', + semanticCommitScope: 'b', updatedPackageFiles: [], updatedLockFiles: [], }; @@ -49,7 +50,7 @@ describe('workers/branch/automerge', () => { await commitFilesToBranch(config); expect(platform.commitFilesToBranch.mock.calls.length).toBe(1); expect(platform.commitFilesToBranch.mock.calls[0][2]).toEqual( - 'some-prefix foo\n\nBar' + 'a(b): foo\n\nBar' ); }); }); diff --git a/test/workers/package/__snapshots__/index.spec.js.snap b/test/workers/package/__snapshots__/index.spec.js.snap index 45da34ff751288b8eafed4da974e754cd25b13fe..835f9473494861ac4d217b8335de17abdf5215e9 100644 --- a/test/workers/package/__snapshots__/index.spec.js.snap +++ b/test/workers/package/__snapshots__/index.spec.js.snap @@ -143,8 +143,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "requiredStatusChecks": Array [], "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "refactor", "semanticCommits": null, - "semanticPrefix": "refactor(deps):", "timezone": null, "type": "pin", "unpublishSafe": false, diff --git a/test/workers/package/__snapshots__/versions.spec.js.snap b/test/workers/package/__snapshots__/versions.spec.js.snap index 50cefc3883c27393d4250b283baf5d5527e9ddba..05dbaa4a9b7d7a8fadbabcabb19d09ab5a0c86f9 100644 --- a/test/workers/package/__snapshots__/versions.spec.js.snap +++ b/test/workers/package/__snapshots__/versions.spec.js.snap @@ -308,7 +308,7 @@ Object { "isRollback": true, "newVersion": "1.16.0", "newVersionMajor": 1, - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", "type": "rollback", "unpublishable": false, } diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js index c5b17ec260572a05ed638e1ccca103152452ed23..4faf1aa368a76c0f8c37f41531454734880b10d1 100644 --- a/test/workers/pr/index.spec.js +++ b/test/workers/pr/index.spec.js @@ -249,7 +249,7 @@ describe('workers/pr', () => { config.automerge = true; platform.getBranchPr.mockReturnValueOnce(existingPr); platform.getBranchStatus.mockReturnValueOnce('failure'); - config.semanticPrefix = ''; + config.semanticCommitScope = null; const pr = await prWorker.ensurePr(config); expect(platform.updatePr.mock.calls).toMatchSnapshot(); expect(platform.updatePr.mock.calls.length).toBe(0); @@ -259,7 +259,7 @@ describe('workers/pr', () => { }); it('should return unmodified existing PR', async () => { platform.getBranchPr.mockReturnValueOnce(existingPr); - config.semanticPrefix = ''; + config.semanticCommitScope = null; const pr = await prWorker.ensurePr(config); expect(platform.updatePr.mock.calls).toMatchSnapshot(); expect(platform.updatePr.mock.calls).toHaveLength(0); diff --git a/test/workers/repository/updates/__snapshots__/branchify.spec.js.snap b/test/workers/repository/updates/__snapshots__/branchify.spec.js.snap index d03d6a1cc4df360bc834032fa5de26eff1a5dd04..f6215bf3acba57f75089be4c31d9a819540f7e1c 100644 --- a/test/workers/repository/updates/__snapshots__/branchify.spec.js.snap +++ b/test/workers/repository/updates/__snapshots__/branchify.spec.js.snap @@ -56,12 +56,12 @@ Object { ], "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -438,7 +438,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -507,8 +507,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -570,12 +571,12 @@ Object { ], "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -952,7 +953,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -1021,8 +1022,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -1090,12 +1092,12 @@ Object { ], "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -1472,7 +1474,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -1541,8 +1543,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -1594,12 +1597,12 @@ Object { ], "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -1980,7 +1983,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -2049,8 +2052,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, @@ -2101,12 +2105,12 @@ Object { ], "commitMessage": "Update dependency {{depName}} to v{{newVersion}}", "dependencies": Object { - "semanticPrefix": "fix(deps):", + "semanticCommitType": "fix", }, "description": Array [], "devDependencies": Object {}, "digest": Object { - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", }, "docker": Object { "branchName": "{{branchPrefix}}docker-{{depNameSanitized}}-{{newVersionMajor}}.x", @@ -2483,7 +2487,7 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "groupName": "Pin Dependencies", "rebaseStalePrs": true, "recreateClosed": true, - "semanticPrefix": "refactor(deps):", + "semanticCommitType": "refactor", "unpublishSafe": false, }, "pinDigests": true, @@ -2553,8 +2557,9 @@ This PR has been generated by [Renovate Bot](https://renovateapp.com).", "respectLatest": true, "reviewers": Array [], "schedule": Array [], + "semanticCommitScope": "deps", + "semanticCommitType": "chore", "semanticCommits": null, - "semanticPrefix": "chore(deps):", "separateMajorReleases": true, "separatePatchReleases": false, "timezone": null, diff --git a/test/workers/repository/updates/__snapshots__/generate.spec.js.snap b/test/workers/repository/updates/__snapshots__/generate.spec.js.snap deleted file mode 100644 index f9dddb3d209ebd243e2b8edbf7baab6e4d06eb57..0000000000000000000000000000000000000000 --- a/test/workers/repository/updates/__snapshots__/generate.spec.js.snap +++ /dev/null @@ -1,67 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`workers/repository/updates/generate generateBranchConfig() does not group single upgrade 1`] = ` -Object { - "branchName": "some-branch", - "depName": "some-dep", - "foo": 1, - "prTitle": "some-prefix: some-title", - "semanticCommits": true, - "semanticPrefix": "some-prefix:", - "upgrades": Array [ - Object { - "branchName": "some-branch", - "depName": "some-dep", - "foo": 1, - "prTitle": "some-prefix: some-title", - "semanticCommits": true, - "semanticPrefix": "some-prefix:", - }, - ], -} -`; - -exports[`workers/repository/updates/generate generateBranchConfig() groups multiple upgrades 1`] = ` -Object { - "branchName": "some-branch", - "depName": "some-dep", - "foo": 2, - "groupName": "some-group", - "prTitle": "some-title", - "upgrades": Array [ - Object { - "branchName": "some-branch", - "depName": "some-dep", - "foo": 2, - "groupName": "some-group", - "prTitle": "some-title", - }, - Object { - "branchName": "some-branch", - "depName": "some-other-dep", - "foo": 2, - "groupName": "some-group", - "prTitle": "some-title", - }, - ], -} -`; - -exports[`workers/repository/updates/generate generateBranchConfig() groups single upgrade if not lazyGrouping 1`] = ` -Object { - "branchName": "some-branch", - "depName": "some-dep", - "foo": 2, - "groupName": "some-group", - "prTitle": "some-title", - "upgrades": Array [ - Object { - "branchName": "some-branch", - "depName": "some-dep", - "foo": 2, - "groupName": "some-group", - "prTitle": "some-title", - }, - ], -} -`; diff --git a/test/workers/repository/updates/generate.spec.js b/test/workers/repository/updates/generate.spec.js index 980338a0ee111b3a166df659c563df4d0c5bf2f3..99ad7f054429f30166e07436344bf446f317443e 100644 --- a/test/workers/repository/updates/generate.spec.js +++ b/test/workers/repository/updates/generate.spec.js @@ -15,8 +15,6 @@ describe('workers/repository/updates/generate', () => { groupName: 'some-group', branchName: 'some-branch', prTitle: 'some-title', - semanticCommits: true, - semanticPrefix: 'some-prefix:', lazyGrouping: true, foo: 1, group: { @@ -27,7 +25,6 @@ describe('workers/repository/updates/generate', () => { const res = generateBranchConfig(branch); expect(res.foo).toBe(1); expect(res.groupName).toBeUndefined(); - expect(res).toMatchSnapshot(); }); it('groups single upgrade if not lazyGrouping', () => { const branch = [ @@ -46,7 +43,6 @@ describe('workers/repository/updates/generate', () => { const res = generateBranchConfig(branch); expect(res.foo).toBe(2); expect(res.groupName).toBeDefined(); - expect(res).toMatchSnapshot(); }); it('does not group same upgrades', () => { const branch = [ @@ -105,7 +101,26 @@ describe('workers/repository/updates/generate', () => { const res = generateBranchConfig(branch); expect(res.foo).toBe(2); expect(res.groupName).toBeDefined(); - expect(res).toMatchSnapshot(); + }); + it('uses semantic commits', () => { + const branch = [ + { + depName: 'some-dep', + groupName: 'some-group', + branchName: 'some-branch', + prTitle: 'some-title', + semanticCommits: true, + semanticCommitType: 'chore', + semanticCommitScope: 'package', + lazyGrouping: true, + foo: 1, + group: { + foo: 2, + }, + }, + ]; + const res = generateBranchConfig(branch); + expect(res.prTitle).toEqual('chore(package): some-title'); }); }); });