build_win.ps1: Use commit date for CI builds on Windows and Emscripten as well

This commit is contained in:
Kamil Śliwak 2021-01-14 19:58:58 +01:00
parent 6c3ccc8e29
commit 71d19c5178
2 changed files with 15 additions and 2 deletions

View File

@ -6,6 +6,14 @@ if ("$Env:FORCE_RELEASE" -Or "$Env:CIRCLE_TAG") {
New-Item prerelease.txt -type file
Write-Host "Building release version."
}
else {
# Use last commit date rather than build date to avoid ending up with builds for
# different platforms having different version strings (and therefore producing different bytecode)
# if the CI is triggered just before midnight.
$last_commit_timestamp = git log -1 --date=unix --format=%ad HEAD
$last_commit_date = (Get-Date -Date "1970-01-01 00:00:00Z").toUniversalTime().addSeconds($last_commit_timestamp).ToString("yyyy.M.d")
-join("ci.", $last_commit_date) | out-file -encoding ascii prerelease.txt
}
mkdir build
cd build

View File

@ -47,11 +47,16 @@ cd $WORKSPACE
# shellcheck disable=SC2166
if [[ "$CIRCLE_BRANCH" = release || -n "$CIRCLE_TAG" || -n "$FORCE_RELEASE" || "$(git tag --points-at HEAD 2>/dev/null)" == v* ]]
then
echo -n >prerelease.txt
echo -n >prerelease.txt
else
# Use last commit date rather than build date to avoid ending up with builds for
# different platforms having different version strings (and therefore producing different bytecode)
# if the CI is triggered just before midnight.
TZ=UTC git show --quiet --date="format-local:%Y.%-m.%-d" --format="ci.%cd" >prerelease.txt
fi
if [ -n "$CIRCLE_SHA1" ]
then
echo -n "$CIRCLE_SHA1" >commit_hash.txt
echo -n "$CIRCLE_SHA1" >commit_hash.txt
fi
mkdir -p $BUILD_DIR