nebula-plugins / nebula-plugins/nebula-release-plugin

Different Version Derived on Gitlab vs Local

Open
#233 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Groovy
Stars
236
Forks
60
Avg merge
10m
Merged PRs (30d)
4

Description

Nebula release plugin version 16.1.0.
Gradle version 7.5.1.

Our project is on branch release/2.0.x, branched from tag v2.0.0.

When I run ./gradlew publish final from my local machine I get:

Inferred project: fun-project, version: 2.0.1

This is the correct and expected version.

In Gitlab, I have the following settings:

GIT_FETCH_EXTRA_FLAGS: --tags --prune --prune-tags
GIT_DEPTH: "0"

This, according to the Gitlab documentation, clones the full depth of the repo, and fetches tags.

And the tags are getting pulled because I can see this in the logs:

 * [new branch]      develop               -> origin/develop
 * [new branch]      master                -> origin/master
 * [new branch]      release/2.0.x         -> origin/release/2.0.x
 * [new tag]         v2.0.0                -> v2.0.0
 * [new tag]         v2.0.0-SNAPSHOT       -> v2.0.0-SNAPSHOT

As can be seen, the tag v2.0.0 comes in with the clone. But yet, when the final task runs on Gitlab, it derives the incorrect version:

Inferred project: fun-project, version: 2.1.0

This is the incorrect version per the previous tag and the current branch name.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the version inference with Gradle 7.5.1 and Nebula release plugin 16.1.0, comparing the local and GitLab checkout states for release/2.0.x and tag v2.0.0. Trace the version calculation used by ./gradlew publish final and verify that both environments derive 2.0.1 from the same branch and tag state.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, gitlab
Domain
build-system, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.