conventional-changelog/conventional-changelog

conventional-changelog-eslint@5.0.0 does not work with semantic-release@21.1.1

adrianvolpe opened this issue · 1 comments

Our automated versioning and release notes following the eslint commit standard stopped working for us about the start of August.

We got our solution working again by pinning our use of the semantic-release@19. However, we want to upgrade to the latest and so set up a test environment. where we used:
Node.JS 18.17.1 (LTS)
@semantic-release@21.1.1

When using the defaults (angular commit messages) The solution worked. When I set the configuration as follows:

{
  "plugins": [
	[
		"@semantic-release/commit-analyzer",
      	{
      		"preset": "eslint"
      	}
	],
    "@semantic-release/release-notes-generator",
    "@semantic-release/github"
  ],
  "tagFormat": "${version}"
}

The output first fails because I need to install the conventional-changelog-eslint package. The install created the following package tree:

npm ls --depth=1
sdi-node-semantic-release@0.0.0 /home/ubuntu/sdi-node-semantic-release
├── conventional-changelog-eslint@5.0.0
└─┬ semantic-release@21.1.1
  ├── @semantic-release/commit-analyzer@10.0.4
  ├── @semantic-release/error@4.0.0
  ├── @semantic-release/github@9.0.4
  ├── @semantic-release/npm@10.0.5
  ├── @semantic-release/release-notes-generator@11.0.7
  ├── aggregate-error@4.0.1
  ├── cosmiconfig@8.3.4
  ├── debug@4.3.4
  ├── env-ci@9.1.1
  ├── execa@8.0.1
  ├── figures@5.0.0
  ├── find-versions@5.1.0
  ├── get-stream@6.0.1
  ├── git-log-parser@1.2.0
  ├── hook-std@3.0.0
  ├── hosted-git-info@7.0.0
  ├── lodash-es@4.17.21
  ├── marked-terminal@5.2.0
  ├── marked@5.1.2
  ├── micromatch@4.0.5
  ├── p-each-series@3.0.0
  ├── p-reduce@3.0.0
  ├── read-pkg-up@10.1.0
  ├── resolve-from@5.0.0
  ├── semver-diff@4.0.0
  ├── semver@7.5.4
  ├── signale@1.4.0
  └── yargs@17.7.2

Once the page was added the solution resulted in the following output

] [semantic-release] › ℹ  Running semantic-release version 21.1.1
  semantic-release:config load config from: /home/ubuntu/sdi-node-semantic-release/.releaserc.json +0ms
  semantic-release:config options values: {
  semantic-release:config   branches: [
  semantic-release:config     '+([0-9])?(.{+([0-9]),x}).x',
  semantic-release:config     'master',
  semantic-release:config     'next',
  semantic-release:config     'next-major',
  semantic-release:config     { name: 'beta', prerelease: true },
  semantic-release:config     { name: 'alpha', prerelease: true }
  semantic-release:config   ],
  semantic-release:config   repositoryUrl: 'git+ssh://git@github.com/<removed>.git',
  semantic-release:config   tagFormat: '${version}',
  semantic-release:config   plugins: [
  semantic-release:config     [ '@semantic-release/commit-analyzer', [Object] ],
  semantic-release:config     '@semantic-release/release-notes-generator',
  semantic-release:config     '@semantic-release/github'
  semantic-release:config   ],
  semantic-release:config   _: [],
  semantic-release:config   debug: true,
  semantic-release:config   '$0': 'node_modules/.bin/semantic-release'
  semantic-release:config } +9ms
  semantic-release:plugins options for @semantic-release/github/verifyConditions: {} +0ms
[6:43:37 PM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/github"
  semantic-release:plugins options for @semantic-release/commit-analyzer/analyzeCommits: { preset: 'eslint' } +4ms
[6:43:37 PM] [semantic-release] › ✔  Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"
  semantic-release:plugins options for @semantic-release/release-notes-generator/generateNotes: {} +2ms
[6:43:37 PM] [semantic-release] › ✔  Loaded plugin "generateNotes" from "@semantic-release/release-notes-generator"
  semantic-release:plugins options for @semantic-release/github/publish: {} +2ms
[6:43:37 PM] [semantic-release] › ✔  Loaded plugin "publish" from "@semantic-release/github"
  semantic-release:plugins options for @semantic-release/github/addChannel: {} +0ms
[6:43:37 PM] [semantic-release] › ✔  Loaded plugin "addChannel" from "@semantic-release/github"
  semantic-release:plugins options for @semantic-release/github/success: {} +1ms
[6:43:37 PM] [semantic-release] › ✔  Loaded plugin "success" from "@semantic-release/github"
  semantic-release:plugins options for @semantic-release/github/fail: {} +1ms
[6:43:37 PM] [semantic-release] › ✔  Loaded plugin "fail" from "@semantic-release/github"
[6:43:37 PM] [semantic-release] › ⚠  This run was not triggered in a known CI environment, running in dry-run mode.
  semantic-release:get-git-auth-url Verifying ssh auth by attempting to push to  git+ssh://git@github.com/NTT-TIS/sdi-node-semantic-release.git +0ms
  semantic-release:get-tags found tags for branch master: [] +0ms
[6:43:48 PM] [semantic-release] › ⚠  Run automated release from branch master on repository git+ssh://git@github.com/NTT-TIS/sdi-node-semantic-release.git in dry-run mode
[6:43:50 PM] [semantic-release] › ✔  Allowed to push to the Git repository
[6:43:50 PM] [semantic-release] › ℹ  Start step "verifyConditions" of plugin "@semantic-release/github"
[6:43:50 PM] [semantic-release] [@semantic-release/github] › ℹ  Verify GitHub authentication
[6:43:51 PM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/github"
[6:43:51 PM] [semantic-release] › ℹ  No git tag version found on branch master
[6:43:51 PM] [semantic-release] › ℹ  No previous release found, retrieving all commits
[6:43:51 PM] [semantic-release] › ℹ  Found 1 commits since last release
  semantic-release:get-commits Parsed commits: [ { commit: { long: '58aea5cf5f72cdf97d397c46fe3b53a0c40ee0db', short: '58aea5c' }, tree: { long: '930adeb42041f910fee520487ebcd93a1512c903', short: '930adeb' }, author: { name: 'adrian-volpe', email: 'adrian.volpe@<redacted>', date: 2023-09-06T07:55:01.000Z }, committer: { name: 'adrian-volpe', email: 'adrian.volpe@<redacted>', date: 2023-09-06T07:55:01.000Z }, subject: 'Build: Setting up the test environment', body: '', hash: '58aea5cf5f72cdf97d397c46fe3b53a0c40ee0db', committerDate: 2023-09-06T07:55:01.000Z, message: 'Build: Setting up the test environment', gitTags: '(HEAD -> master, origin/master)' } ] +0ms
[6:43:51 PM] [semantic-release] › ℹ  Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
ubuntu@gh-actions:~/sdi-node-semantic-release$ 

If I uninstall conventional-changelog-eslint@5.0.0 and install conventional-changelog-eslint@4.0.0 the solution runs to completion as expected.

I'm logging this as I'm sure others will eventually run into this issue.