summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Picus <diana.picus@linaro.org>2021-07-27 13:12:11 +0200
committerDiana Picus <diana.picus@linaro.org>2022-07-21 13:52:57 +0200
commit39dd5096c6710690db3b63d3a190c9dcdcec23a6 (patch)
tree304294352dc8e410592d1b01f7fca75ae522c3dd
parente3a5933936ba2be3b140c575850f3702af33a93b (diff)
tcwg-llvm-release.sh: Fix git-ref
When building a git-ref, we're using the test-release.sh from the release branch passed in as a parameter. We should instead use the one from the given git-ref, and in fact we shouldn't pass a release number at all. This patch fixes the issue by forcing either release + candidate or git ref to be passed in. Change-Id: I7df89175164fc49b1e73411f9f5ff6ebd118caa4
-rwxr-xr-xtcwg-llvm-release.sh34
1 files changed, 27 insertions, 7 deletions
diff --git a/tcwg-llvm-release.sh b/tcwg-llvm-release.sh
index 2b72b97c..69d166f6 100755
--- a/tcwg-llvm-release.sh
+++ b/tcwg-llvm-release.sh
@@ -15,7 +15,7 @@ BASEDIR=$(dirname "$(readlink -f "$0")")
# Syntax
SYN_WORKSPACE="--workspace=/path/to/workspace"
SYN_RELEASE="--release=M.m.p"
-SYN_CANDIDATE="--candidate=N (or 'final' or 'branch=*')"
+SYN_CANDIDATE="--candidate=N (or 'final' or 'git-ref=*')"
SYN_BUILDJOBS="--buildjobs=N (def. CPUS)"
SYN_TOOLCHAIN="--toolchain=http://url/for/tarball"
SYN_TOOLCHAIN_FILE="--toolchain-file=<file-name> (file name to copy the produced toolchain file name)"
@@ -25,7 +25,9 @@ SYNTAX="$0 $SYN_WORKSPACE $SYN_RELEASE $SYN_CANDIDATE $SYN_TOOLCHAIN $SYN_TOOLCH
# Environment Variables and default values
WORKSPACE=$(pwd)
+GITREF=""
RELEASE=""
+RELCALL=""
CANDIDATE=""
RCCALL=""
RCTAG=""
@@ -43,10 +45,15 @@ while [ "$#" -gt 0 ]; do
case "$ARG" in
--release)
RELEASE="$VAL"
- if ! echo "$RELEASE" | grep -E -q "^[0-9]+\\.[0-9]\\.[0-9]"; then
+ if test -z "$RELEASE"; then
+ # The release can be empty if we're building a git ref.
+ echo "No release specified"
+ elif ! echo "$RELEASE" | grep -E -q "^[0-9]+\\.[0-9]\\.[0-9]"; then
echo "ERROR: $1"
echo "Syntax: $SYN_RELEASE"
exit 1
+ else
+ RELCALL="-release $RELEASE"
fi
shift ;;
--candidate)
@@ -120,8 +127,13 @@ while [ "$#" -gt 0 ]; do
done
# Validate options
-if [ "$RELEASE" = "" ] || [ "$CANDIDATE" = "" ]; then
- echo "ERROR: Missing release or candidate"
+if [ "$CANDIDATE" = "" ]; then
+ echo "ERROR: Missing candidate"
+ echo "$SYNTAX"
+ exit 1
+fi
+if [ "$RELEASE" = "" ] && [ "$GITREF" = "" ]; then
+ echo "ERROR: Missing release or git ref"
echo "$SYNTAX"
exit 1
fi
@@ -176,7 +188,11 @@ LOGEXT="txt"
# Release script
RELEASE_SCRIPT="test-release.sh"
-RELEASE_TAG="llvmorg-${RELEASE}${RCTAG}"
+if test -z "$RELEASE"; then
+ RELEASE_TAG="$GITREF"
+else
+ RELEASE_TAG="llvmorg-${RELEASE}${RCTAG}"
+fi
SCRIPT_URL=https://raw.githubusercontent.com/llvm/llvm-project/$RELEASE_TAG/llvm/utils/release/$RELEASE_SCRIPT
(
cd "$WORKSPACE"
@@ -189,11 +205,15 @@ SCRIPT_URL=https://raw.githubusercontent.com/llvm/llvm-project/$RELEASE_TAG/llvm
# - we want to push the binary public on success or failre
result=0
(
- cd "$WORKSPACE" && LC_ALL=C ./$RELEASE_SCRIPT -release $RELEASE $RCCALL -triple $TARGET -j$BUILDJOBS $OPENMP $MLIR $FLANG $USENINJA -configure-flags "$EXTRA_CONFIG_ARGS" |& tee "$LOGBASE-release.$LOGEXT"
+ cd "$WORKSPACE" && LC_ALL=C ./$RELEASE_SCRIPT $RELCALL $RCCALL -triple $TARGET -j$BUILDJOBS $OPENMP $MLIR $FLANG $USENINJA -configure-flags "$EXTRA_CONFIG_ARGS" |& tee "$LOGBASE-release.$LOGEXT"
) &
wait $! || result=$?
-PKGTAG="$RELEASE$RCTAG"
+if test -z "$RELEASE"; then
+ PKGTAG="$GITREF"
+else
+ PKGTAG="$RELEASE$RCTAG"
+fi
PKGNAME="$(push_binary_name "$PKGTAG" "$TARGET")"
PUSHTYPE="releases"
PUSHDIR="$(push_binary_dir "$PUSHTYPE")"