diff --git a/Jenkinsfile b/Jenkinsfile index 6cbfa12..8b31e09 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -98,10 +98,15 @@ spec: script { sh ''' set -euo pipefail - SEMVER="$(git describe --tags --abbrev=0 --match 'v*' 2>/dev/null || jq -r '.version' frontend/package.json || echo '0.1.0')" - # Accept bare semver or leading v. - if ! echo "$SEMVER" | grep -Eq '^v?[0-9]+\\.[0-9]+\\.[0-9]+(\\-[0-9A-Za-z.-]+)?$'; then - SEMVER="0.1.0" + if git describe --tags --exact-match >/dev/null 2>&1; then + SEMVER="$(git describe --tags --exact-match)" + else + BASE="$(jq -r '.version' frontend/package.json || echo '0.1.0')" + SEMVER="${BASE}-${BUILD_NUMBER}" + fi + # Accept bare semver or leading v (with optional prerelease). + if ! echo "$SEMVER" | grep -Eq '^v?[0-9]+\\.[0-9]+\\.[0-9]+(?:[-.][0-9A-Za-z]+)?$'; then + SEMVER="0.1.0-${BUILD_NUMBER}" fi echo "SEMVER=${SEMVER}" > build.env '''