Skip to content

Commit 8439e2a

Browse files
committed
Handle tagged prereleases separately from releases and other prereleases
1 parent 8fe0df0 commit 8439e2a

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

.circleci/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,6 +1001,7 @@ jobs:
10011001
<<: *base_ubuntu2404_xlarge
10021002
steps:
10031003
- build
1004+
- run: cat prerelease.txt
10041005

10051006
# x64 ASAN build, for testing for memory related bugs
10061007
b_ubu_asan: &b_ubu_asan

scripts/create_source_tarball.sh

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,22 @@ source "${REPO_ROOT}/scripts/common.sh"
88
cd "$REPO_ROOT"
99
version=$(scripts/get_version.sh)
1010
commit_hash=$(git rev-parse --short=8 HEAD)
11-
commit_date=$(TZ=UTC git show --quiet --date="format-local:%Y.%-m.%-d" --format="%cd")
1211

13-
# File exists and has zero size -> not a prerelease
14-
if [[ -e prerelease.txt && ! -s prerelease.txt ]]; then
15-
version_string="$version"
16-
elif [[ -e prerelease.txt ]]; then
17-
version_string="${version}-$(cat prerelease.txt)-${commit_hash}"
12+
if [[ -e prerelease.txt ]]; then
13+
prerelease_suffix=$(cat prerelease.txt)
14+
if [[ $prerelease_suffix == "" ]]; then
15+
# File exists and has zero size -> not a prerelease
16+
version_string="$version"
17+
elif [[ $prerelease_suffix == pre.* ]]; then
18+
# Tagged prerelease -> unambiguous, so commit hash not needed
19+
version_string="${version}-${prerelease_suffix}"
20+
else
21+
# Nightly/develop/other prerelease -> include commit hash
22+
version_string="${version}-${prerelease_suffix}-${commit_hash}"
23+
fi
1824
else
25+
# Nightly/develop/other prerelease -> include commit hash + default prerelease suffix
26+
commit_date=$(TZ=UTC git show --quiet --date="format-local:%Y.%-m.%-d" --format="%cd")
1927
version_string="${version}-nightly-${commit_date}-${commit_hash}"
2028
fi
2129

scripts/prerelease_suffix.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
1111
GNU_DATE=gdate
1212
fi
1313

14-
if [[ $FORCE_RELEASE != "" || $git_tag == v* ]]; then
14+
if [[ $FORCE_RELEASE != "" || $git_tag =~ ^v[0-9.]+$ ]]; then
1515
echo -n
16+
elif [[ $git_tag =~ ^v[0-9.]+-pre. ]]; then
17+
echo -n "pre.${git_tag#*-pre.}"
1618
else
1719
# Use last commit date rather than build date to avoid ending up with builds for
1820
# different platforms having different version strings (and therefore producing different bytecode)

0 commit comments

Comments
 (0)