I have configured semantic-release in package.json like that:
"release": {
"branches": [
"master"
],
"plugins": [
["@semantic-release/commit-analyzer", {
"releaseRules": [
{"type": "feat", "release": "minor"},
{"type": "fix", "release": "patch"},
{"type": "ci", "release": "patch"},
{"type": "chore", "release": "patch"}
]
}],
[
"@semantic-release/changelog",
{
"changelogFile": "./CHANGELOG.md"
}
],
"@semantic-release/gitlab",
[
"@semantic-release/git",
{
"assets": [
"./CHANGELOG.md",
"./package.json",
"./package-lock.json"
]
}
],
"@semantic-release/release-notes-generator"
]
}
Now when I push anything to master (either via direct push or merge request), release is created:
[2:38:39 PM] [semantic-release] [@semantic-release/gitlab] › ℹ Published GitLab release: v1.3.0
[2:38:39 PM] [semantic-release] › ✔ Completed step "publish" of plugin "@semantic-release/gitlab"
[2:38:39 PM] [semantic-release] › ℹ Start step "success" of plugin "@semantic-release/gitlab"
[2:38:39 PM] [semantic-release] › ✔ Completed step "success" of plugin "@semantic-release/gitlab"
[2:38:39 PM] [semantic-release] › ✔ Published release 1.3.0 on default channel
And this is great, but package.json is not being updated. And because of this, every build version is actually the same. How can I fix this?
To update the package.json, you need to install this plugin:
https://github.com/semantic-release/npm/.
Make sure to set 'private:true' in your package.json to prevent accidental publishing to npm.