module.exports = {
branches: ['chore/setup-releases'],
// branches: ['main'], // this is what it should be
extends: "semantic-release-monorepo",
plugins: [
'@semantic-release/github',
[
'@semantic-release/git',
{
assets: ['package.json'],
message:
'chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}',
},
],
[
// docs: release-notes-generator
'@semantic-release/release-notes-generator',
{
preset: 'conventionalcommits',
presetConfig: {
types: [
{ type: 'feat', section: 'Features', hidden: false },
{ type: 'fix', section: 'Bug Fixes', hidden: false },
{
type: 'perf',
section: 'Performance Improvements',
hidden: false,
},
{ type: 'revert', section: 'Reverts', hidden: false },
{ type: 'chore', section: 'Chores', hidden: false },
{ type: 'docs', section: 'Documentation', hidden: false },
{ type: 'refactor', section: 'Code Refactoring', hidden: false },
{ type: 'test', section: 'Tests', hidden: false },
{ type: 'dependency', section: 'Dependencies', hidden: false },
],
},
},
],
[
// docs: https://github.com/semantic-release/commit-analyzer#commit-analyzer
'@semantic-release/commit-analyzer',
{
preset: 'angular',
releaseRules: [
// { type: "feat", release: "minor" }, // this is a default rule enforced by angular preset
// { type: "fix", release: "minor" }, // this is a default rule enforced by angular preset
// { type: "perf", release: "minor" }, // this is a default rule enforced by angular preset
{ type: 'revert', release: 'minor' },
{ type: 'chore', release: 'minor' },
{ type: 'docs', release: 'patch' },
{ type: 'dependency', release: 'patch' },
{ type: 'refactor', release: 'patch' },
{ type: 'test', release: 'patch' },
],
parserOpts: {
noteKeywords: ['BREAKING CHANGE', 'BREAKING CHANGES'],
},
},
],
],
};
name: Semantic release
on:
push:
branches:
- chore/setup-releases
jobs:
release:
permissions:
contents: write
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup node version
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Yarn
run: npm install -g yarn
- name: Check yarn version
run: yarn --version
- name: Install modules
run: yarn
- name: Run semantic release
run: npx semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Uninstall Yarn
if: always()
run: npm uninstall -g yarn
So it looks like analyzeCommits doesn't actually work...
Plugin "@semantic-release/github" does not provide step "analyzeCommits"
You wrote on the readme.md that semantic-release-monorepo overrides analyzeCommits. That is fine but it should still analyze those 35 commits it found, no?
If I compare it to my regular non-monorepo projects, after finding commits it will log out every commit name and determine if it needs to create a new release.
Can someone help out? I feel like I am 99% there but there must be some configuration issue I'm missing.
Hello!
I am trying to extend our already working and implemented implementation of
semantic-releaseto our new monorepo. I have found your library and naturally tried just adding it to the release.config file under the extends key.My release config file (updated to work with monorepo) looks like this:
My github action yaml file looks something like this:
Notice that I am running on
chore/setup-releasesbranch since I am testing this. Once it works, I will change branch tomain.When the action runs all works well, nothing fails, but also no commits get actually analyzed.
This is an output of the actual

semantic-releasestep:So it looks like analyzeCommits doesn't actually work...
Plugin "@semantic-release/github" does not provide step "analyzeCommits"You wrote on the readme.md that semantic-release-monorepo overrides analyzeCommits. That is fine but it should still analyze those 35 commits it found, no?
If I compare it to my regular non-monorepo projects, after finding commits it will log out every commit name and determine if it needs to create a new release.
Can someone help out? I feel like I am 99% there but there must be some configuration issue I'm missing.