Skip to content

bug(gitlab): incorrect version updating if Release-it command has the command-line argument --ci #1223

@Kristinita

Description

@Kristinita

1. Summary

If I run release-it minor --ci for my GitLab repository, release-it bumps a patch version. If I run release-it major --ci, release-it bumps a minor version.

I don’t reproduce the problem for my GitHub repository. I don’t reproduce the problem in interactive mode without the command-line argument --ci.

2. MCVE

2.1. .release-it.yaml

# [INFO] Or without Git options
git:
  addUntrackedFiles: true
  commitArgs: --signoff
  commitMessage: "deploy(release-it): release v${version}"
  requireUpstream: false
  tagName: v${version}

npm:
  publish: false

plugins:
  release-it-changelogen:
    # [INFO] Or without release-it-changelogen options below
    disableVersion: true
    templates:
      commitMessage: "deploy(release-it): release {{newVersion}}"
      tagMessage: v{{newVersion}}

verbose: 2

2.2. Steps to reproduce

npx release-it minor --ci

npx release-it major --ci

2.3. Behavior

2.3.1. Expected — GitHub

When I run Release-it with the command-line argument major, Release-it updates the version from 1.11.1 to 2.0.0:

D:\SashaDemoRepositories\SashaGitHub>npx release-it major --ci
$ git diff --quiet HEAD
$ git rev-parse --abbrev-ref HEAD
KiraReleaseIt
$ git config --get branch.KiraReleaseIt.remote
origin
$ git remote get-url origin
https://github.com/Kristinita/SashaGitHub.git
$ git fetch
$ git rev-parse --abbrev-ref HEAD  [cached]
$ git describe --tags --match=v* --abbrev=0
v1.11.1
� Let’s release sashagithub (1.11.1…2.0.0)
Changelog:
## v1.11.1…KiraReleaseIt

[**compare changes**](https://github.com/Kristinita/SashaGitHub/compare/v1.11.1…KiraReleaseIt)

### � Deployment

- **release-it:** Try temporary disable hooks ([**a8b2ca5**](https://github.com/Kristinita/SashaGitHub/commit/a8b2ca5))

### ❤️ Contributors

- Kristinita ([**@Kristinita**](http://github.com/Kristinita))
$ npm version 2.0.0 --no-git-tag-version
v2.0.0
$ git status --short --untracked-files=no
 M CHANGELOG.md
 M package.json
Changeset:
 M CHANGELOG.md
 M package.json
$ git add . --all

$ git commit --message deploy(release-it): release v2.0.0 --signoff
[KiraReleaseIt 96ef5f7] deploy(release-it): release v2.0.0
 2 files changed, 13 insertions(+), 1 deletion(-)

$ git tag --annotate --message Release 2.0.0 v2.0.0

$ git symbolic-ref HEAD
refs/heads/KiraReleaseIt
$ git for-each-ref --format="%(upstream:short)" refs/heads/KiraReleaseIt
origin/KiraReleaseIt
$ git push --follow-tags

� Done (in 6s.)
2.3.2. Non-expected — GitLab

When I run Release-it with the command-line argument minor, Release-it updates the version from 0.3.6 to 0.3.7, not to 0.4.0:

D:\SashaDemoRepositories\KiraGitLabDebugging>npx release-it minor --ci
$ git diff --quiet HEAD
$ git rev-parse --abbrev-ref HEAD
KiraReleaseIt
$ git config --get branch.KiraReleaseIt.remote
origin
$ git remote get-url origin
https://gitlab.com/Kristinita/KiraGitLabDebugging.git
$ git fetch
$ git rev-parse --abbrev-ref HEAD  [cached]
$ git describe --tags --match=v* --abbrev=0
v0.3.6
� Let’s release KiraGitLabDebugging (0.3.6…0.3.7)
Changelog:
## v0.3.6…KiraReleaseIt

[**compare changes**](https://gitlab.com/Kristinita/KiraGitLabDebugging/compare/v0.3.6…KiraReleaseIt)

### � Deployment

- **release-it:** Try consistent .release-it.yaml files ([**e094584**](https://gitlab.com/Kristinita/KiraGitLabDebugging/commit/e094584))

### ❤️ Contributors

- Kristinita <[email protected]>
$ npm version 0.3.7 --no-git-tag-version
v0.3.7
$ git status --short --untracked-files=no
 M CHANGELOG.md
 M package.json
Changeset:
 M CHANGELOG.md
 M package.json
$ git add . --all

$ git commit --message deploy(release-it): release v0.3.7 --signoff
[KiraReleaseIt 6be3a67] deploy(release-it): release v0.3.7
 2 files changed, 13 insertions(+), 1 deletion(-)

$ git tag --annotate --message Release 0.3.7 v0.3.7

$ git symbolic-ref HEAD
refs/heads/KiraReleaseIt
$ git for-each-ref --format="%(upstream:short)" refs/heads/KiraReleaseIt
origin/KiraReleaseIt
$ git push --follow-tags

� Done (in 9s.)

When I run Release-it with the command-line argument major, Release-it updates the version from 0.3.7 to 0.4.0, not to 1.0.0:

D:\SashaDemoRepositories\KiraGitLabDebugging>npx release-it major --ci
$ git diff --quiet HEAD
$ git rev-parse --abbrev-ref HEAD
KiraReleaseIt
$ git config --get branch.KiraReleaseIt.remote
origin
$ git remote get-url origin
https://gitlab.com/Kristinita/KiraGitLabDebugging.git
$ git fetch
$ git rev-parse --abbrev-ref HEAD  [cached]
$ git describe --tags --match=v* --abbrev=0
v0.3.7
� Let’s release KiraGitLabDebugging (0.3.7…0.4.0)
Changelog:
## v0.3.7…v0.3.7

[**compare changes**](https://gitlab.com/Kristinita/KiraGitLabDebugging/compare/v0.3.7…v0.3.7)
$ npm version 0.4.0 --no-git-tag-version
v0.4.0
$ git status --short --untracked-files=no
 M CHANGELOG.md
 M package.json
Changeset:
 M CHANGELOG.md
 M package.json
$ git add . --all

$ git commit --message deploy(release-it): release v0.4.0 --signoff
[KiraReleaseIt 7e40731] deploy(release-it): release v0.4.0
 2 files changed, 5 insertions(+), 1 deletion(-)

$ git tag --annotate --message Release 0.4.0 v0.4.0

$ git symbolic-ref HEAD
refs/heads/KiraReleaseIt
$ git for-each-ref --format="%(upstream:short)" refs/heads/KiraReleaseIt
origin/KiraReleaseIt
$ git push --follow-tags

� Done (in 9s.)

3. Environment

  1. Microsoft Windows [Version 10.0.22621.3085]
  2. git version 2.49.0.windows.1
  3. Node.js v24.0.1
  4. Release-it 19.0.2
  5. release-it-changelogen 0.1.0

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions