Each of the 3 CI services now trigger a sr.ht build via the on_master_success script. The sr.ht build checks if all builds have completed successfully by trying to download the JSON file for the particular version. If all builds have completed successfully then this sr.ht job will update the download page.
96 lines
3.0 KiB
Bash
Executable File
96 lines
3.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -x
|
|
set -e
|
|
|
|
ZIGDIR="$(pwd)"
|
|
CACHE_BASENAME="llvm+clang-9.0.0-freebsd-x86_64-release"
|
|
PREFIX="$HOME/$CACHE_BASENAME"
|
|
JOBS="-j$(sysctl -n hw.ncpu)"
|
|
|
|
cd $HOME
|
|
wget -nv "https://ziglang.org/builds/$CACHE_BASENAME.tar.xz"
|
|
tar xf "$CACHE_BASENAME.tar.xz"
|
|
|
|
cd $ZIGDIR
|
|
|
|
# Make the `zig version` number consistent.
|
|
# This will affect the cmake command below.
|
|
git config core.abbrev 9
|
|
|
|
mkdir build
|
|
cd build
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$PREFIX "-DCMAKE_INSTALL_PREFIX=$(pwd)/release" -DZIG_STATIC=ON
|
|
make $JOBS install
|
|
|
|
release/bin/zig build test-fmt
|
|
release/bin/zig build test-behavior
|
|
|
|
# This test is disabled because it triggers "out of memory" on the sr.ht CI service.
|
|
# See https://github.com/ziglang/zig/issues/3210
|
|
# release/bin/zig build test-std
|
|
|
|
release/bin/zig build test-compiler-rt
|
|
|
|
# This test is disabled because it triggers "out of memory" on the sr.ht CI service.
|
|
# See https://github.com/ziglang/zig/issues/3210
|
|
# release/bin/zig build test-compare-output
|
|
|
|
# This test is disabled because it triggers "out of memory" on the sr.ht CI service.
|
|
# See https://github.com/ziglang/zig/issues/3210
|
|
# release/bin/zig build test-standalone
|
|
|
|
release/bin/zig build test-stack-traces
|
|
release/bin/zig build test-cli
|
|
release/bin/zig build test-asm-link
|
|
release/bin/zig build test-runtime-safety
|
|
|
|
# This test is disabled because it triggers "out of memory" on the sr.ht CI service.
|
|
# See https://github.com/ziglang/zig/issues/3210
|
|
# release/bin/zig build test-translate-c
|
|
|
|
release/bin/zig build test-gen-h
|
|
|
|
# This test is disabled because it triggers "out of memory" on the sr.ht CI service.
|
|
# See https://github.com/ziglang/zig/issues/3210
|
|
# release/bin/zig build test-compile-errors
|
|
|
|
# This test is disabled because it triggers "out of memory" on the sr.ht CI service.
|
|
# See https://github.com/ziglang/zig/issues/3210
|
|
# release/bin/zig build docs
|
|
|
|
if [ -f ~/.s3cfg ]; then
|
|
mv ../LICENSE release/
|
|
# Enable when `release/bin/zig build docs` passes without "out of memory" or failures
|
|
#mv ../zig-cache/langref.html release/
|
|
mv release/bin/zig release/
|
|
rmdir release/bin
|
|
|
|
GITBRANCH=$(basename $GITHUB_REF)
|
|
VERSION=$(release/zig version)
|
|
DIRNAME="zig-freebsd-x86_64-$VERSION"
|
|
TARBALL="$DIRNAME.tar.xz"
|
|
mv release "$DIRNAME"
|
|
tar cfJ "$TARBALL" "$DIRNAME"
|
|
|
|
s3cmd put -P --add-header="cache-control: public, max-age=31536000, immutable" "$TARBALL" s3://ziglang.org/builds/
|
|
|
|
SHASUM=$(shasum -a 256 $TARBALL | cut '-d ' -f1)
|
|
BYTESIZE=$(wc -c < $TARBALL)
|
|
|
|
JSONFILE="freebsd-$GITBRANCH.json"
|
|
touch $JSONFILE
|
|
echo "{\"tarball\": \"$TARBALL\"," >>$JSONFILE
|
|
echo "\"shasum\": \"$SHASUM\"," >>$JSONFILE
|
|
echo "\"size\": \"$BYTESIZE\"}" >>$JSONFILE
|
|
|
|
s3cmd put -P --add-header="Cache-Control: max-age=0, must-revalidate" "$JSONFILE" "s3://ziglang.org/builds/$JSONFILE"
|
|
s3cmd put -P "$JSONFILE" "s3://ziglang.org/builds/x86_64-freebsd-$VERSION.json"
|
|
|
|
if [ "$GITBRANCH" = "master" ]; then
|
|
OAUTH_TOKEN="$(cat ~/.oauth_token)"
|
|
cd "$ZIGDIR"
|
|
./ci/srht/on_master_success "$VERSION" "$OAUTH_TOKEN"
|
|
fi
|
|
fi
|