diff --git a/src/model/versioning.ts b/src/model/versioning.ts index 38176907..7f7b6bdf 100644 --- a/src/model/versioning.ts +++ b/src/model/versioning.ts @@ -207,7 +207,17 @@ 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', '--always', 'HEAD']); + } + + const latestVersionTag = versionTags[0]; + return this.git(['describe', '--long', '--tags', latestVersionTag]); } /**