summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-11-07 20:41:24 -0800
committerH. Peter Anvin <hpa@zytor.com>2010-11-07 20:41:24 -0800
commitcc5b7cd6d1dc93acc850bace920da5286a2a68d6 (patch)
treefceb96139377a159e3c2a0bd22c0b6fc03044e61
parenta255588a71d521910737f97d93d23051fdf0a748 (diff)
downloadnasmbuild-cc5b7cd6d1dc93acc850bace920da5286a2a68d6.tar.gz
nasmbuild-cc5b7cd6d1dc93acc850bace920da5286a2a68d6.tar.xz
nasmbuild-cc5b7cd6d1dc93acc850bace920da5286a2a68d6.zip
1. Make excluded tags specific to a certain git revision.
2. If a tagged build fails, add an exclude for that tag/revision.
-rwxr-xr-xbuildall.sh11
1 files changed, 8 insertions, 3 deletions
diff --git a/buildall.sh b/buildall.sh
index c7fe0f9..78467e4 100755
--- a/buildall.sh
+++ b/buildall.sh
@@ -181,7 +181,8 @@ fi
#
(cd git && git tag) | while read tag; do
: $tag
- if [ ! -f "$excludedir"/"$tag" ]; then
+ tagref=$(cd git && git rev-parse "$tag")
+ if [ ! -f "$excludedir"/"$tag" -o x$(cat "$excludedir"/"$tag") != x"$tagref" ]; then
case "$tag" in
nasm-0.99.0[5-9]|nasm-0.99.[1-9]*|nasm-[1-9]*)
rel_version=$(echo "$tag" | sed -e 's/^nasm-//')
@@ -189,8 +190,12 @@ fi
git clone -s -l -n git git-rel
( cd git-rel && git checkout "$tag" )
tagref=$(cd git-rel && git rev-parse "$tag")
- build "$rel_version" "$reldir"/"$rel_version" git-rel "$tagref"
- process_release "$rel_version"
+ if ( build "$rel_version" "$reldir"/"$rel_version" git-rel "$tagref" ); then
+ process_release "$rel_version"
+ else
+ # Build failed, we don't want to build this exact tag again
+ echo "$tagref" > "$excludedir"/"$tag"
+ fi
fi
;;
esac