Skip to content

Commit

Permalink
Fix getVersionDescription() to prioritize version tags over non-versi…
Browse files Browse the repository at this point in the history
…on tags (#673)

* Fix getVersionDescription() to prioritize version tags over non-version tags

This fix modifies the getVersionDescription() method to ensure it only considers valid version tags when describing the current version. It retrieves all tags merged into the current branch, filters them based on a version-compatible regex, and uses the most recent valid version tag for description. If no valid tags are found, it falls back to the default description behavior. This resolves the issue of incorrect tags being used when multiple tags are present.

* Update versioning.ts

Rewrote getting the description for the last valid tag using `rev-list` and `rev-parse`

* Fix formatting

* Revert "dist"

This reverts commit bd58cbe.

* Revert "dist"

This reverts commit bd58cbe.
  • Loading branch information
OctopBP authored Oct 7, 2024
1 parent 461ecf7 commit b11b6a6
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 3 deletions.
12 changes: 11 additions & 1 deletion dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion src/model/versioning.ts
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,21 @@ export default class Versioning {
* identifies the current commit.
*/
static async getVersionDescription() {
return this.git(['describe', '--long', '--tags', '--always', 'HEAD']);
const versionTags = (await this.git(['tag', '--list', '--merged', 'HEAD', '--sort=-creatordate']))
.split('\n')
.filter((tag) => new RegExp(this.grepCompatibleInputVersionRegex).test(tag));

if (versionTags.length === 0) {
core.warning('No valid version tags found. Using fallback description.');

return this.git(['describe', '--long', '--tags', '--always', 'HEAD']);
}

const latestVersionTag = versionTags[0];
const commitsCount = (await this.git(['rev-list', `${latestVersionTag}..HEAD`, '--count'])).trim();
const commitHash = (await this.git(['rev-parse', '--short', 'HEAD'])).trim();

return `${latestVersionTag}-${commitsCount}-g${commitHash}`;
}

/**
Expand Down

0 comments on commit b11b6a6

Please sign in to comment.