semantic-release
semantic-release copied to clipboard
--plugins CLI flag does not honor plugin configurations
Current behavior
We are trying to use semantic-release to automatically create releases exclusively through Github Actions. We are trying to do this across multiple projects with a standard configuration.
We currently have this command in place
npx semantic-release --dry-run --debug --branches main --plugins "@semantic-release/commit-analyzer, [@semantic-release/github, {'successComment': false, 'failComment': false, 'failTitle': false}], @semantic-release/release-notes-generator"
The plugins listed in the output are as follows:
semantic-release:config plugins: [
semantic-release:config '@semantic-release/commit-analyzer',
semantic-release:config '[@semantic-release/github',
semantic-release:config "{'successComment': false",
semantic-release:config "'failComment': false",
semantic-release:config "'failTitle': false}]",
semantic-release:config '@semantic-release/release-notes-generator'
semantic-release:config ],
This results in an error when attempting to load '[@semantic-release/github'
The documentation describes this syntax, but when used via CLI, it results in a list of strings.
Expected behavior
I would expect that output to show something like the following:
semantic-release:config plugins: [
semantic-release:config '@semantic-release/commit-analyzer',
semantic-release:config [
semantic-release:config '@semantic-release/github',
semantic-release:config {
semantic-release:config 'successComment': false,
semantic-release:config 'failComment': false,
semantic-release:config 'failTitle': false
semantic-release:config }
semantic-release:config ],
semantic-release:config '@semantic-release/release-notes-generator'
semantic-release:config ],
semantic-release
version
23.0.8, but it is currently installed directly with no version lock
CI environment
N/A
Plugins used
@semantic-release/commit-analyzer @semantic-release/github @semantic-release/release-notes-generator
semantic-release
configuration
npx semantic-release --dry-run --debug --branches main --plugins "@semantic-release/commit-analyzer, [@semantic-release/github, {'successComment': false, 'failComment': false, 'failTitle': false}], @semantic-release/release-notes-generator"
CI logs
[3:30:58 PM] [semantic-release] › ℹ Running semantic-release version 23.0.8
semantic-release:config load config from: undefined +0ms
semantic-release:config options values: {
semantic-release:config branches: [ 'conventional-commit' ],
semantic-release:config repositoryUrl: '[email protected]:RedVentures/travel-actions-release.git',
semantic-release:config tagFormat: 'v${version}',
semantic-release:config plugins: [
semantic-release:config '@semantic-release/commit-analyzer',
semantic-release:config '[@semantic-release/github',
semantic-release:config "{'successComment': false",
semantic-release:config "'failComment': false",
semantic-release:config "'failTitle': false}]",
semantic-release:config '@semantic-release/release-notes-generator'
semantic-release:config ],
semantic-release:config _: [],
semantic-release:config 'dry-run': true,
semantic-release:config d: true,
semantic-release:config dryRun: true,
semantic-release:config debug: true,
semantic-release:config b: [ 'conventional-commit' ],
semantic-release:config p: [
semantic-release:config '@semantic-release/commit-analyzer',
semantic-release:config '[@semantic-release/github',
semantic-release:config "{'successComment': false",
semantic-release:config "'failComment': false",
semantic-release:config "'failTitle': false}]",
semantic-release:config '@semantic-release/release-notes-generator'
semantic-release:config ],
semantic-release:config '$0': '../../.asdf/installs/nodejs/20.8.1/bin/semantic-release'
semantic-release:config } +5ms
[3:30:58 PM] [semantic-release] › ✘ An error occurred while running semantic-release: Error: Cannot find module '[@semantic-release/github'
Require stack:
- /home/mikek/lp/travel-actions-release/noop.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
at resolveFileName (/home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/node_modules/resolve-from/index.js:29:39)
at resolveFrom (/home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/node_modules/resolve-from/index.js:43:9)
at module.exports (/home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/node_modules/resolve-from/index.js:46:47)
at loadPlugin (file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/utils.js:59:54)
at file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:18:43
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29 {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/home/mikek/lp/travel-actions-release/noop.js' ]
}
Error: Cannot find module '[@semantic-release/github'
Require stack:
- /home/mikek/lp/travel-actions-release/noop.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
at resolveFileName (/home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/node_modules/resolve-from/index.js:29:39)
at resolveFrom (/home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/node_modules/resolve-from/index.js:43:9)
at module.exports (/home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/node_modules/resolve-from/index.js:46:47)
at loadPlugin (file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/utils.js:59:54)
at file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:18:43
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29
at async file:///home/mikek/.asdf/installs/nodejs/20.8.1/lib/node_modules/semantic-release/lib/plugins/index.js:15:29 {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/home/mikek/lp/travel-actions-release/noop.js' ]