39 lines
1.2 KiB
Bash
Executable File
39 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Copyright 2023 Uber Technologies, Inc.
|
|
# Licensed under the MIT License
|
|
|
|
set -xeuo pipefail
|
|
|
|
cache_prefix="${BAZEL_ZIG_CC_CACHE_PREFIX:-/tmp/bazel-zig-cc}"
|
|
|
|
# check a very hermetic setup with a single target. Re-building all of
|
|
# them takes a long time, so using only one. If we ever decide to build all
|
|
# targets, we will need to exclude Go, since go dynamically links to glibc on
|
|
# linux.
|
|
|
|
echo "--- build a single target with very hermetic sandbox"
|
|
tools/bazel build "$@" \
|
|
--experimental_use_hermetic_linux_sandbox \
|
|
--sandbox_writable_path="$cache_prefix" \
|
|
--sandbox_add_mount_pair=/proc \
|
|
//test/c:which_libc_linux_amd64_gnu.2.19
|
|
|
|
# then test everything else with the standard sandbox
|
|
echo "--- bazel test $* ..."
|
|
tools/bazel test "$@" ...
|
|
|
|
echo "--- ensure github.com/ziglang/zig/issues/13050 does not regress"
|
|
find "$cache_prefix" \
|
|
-name mutex_destructor.o -execdir file '{}' \; \
|
|
| sort \
|
|
| uniq -c \
|
|
| sort -rn > /tmp/got_cache
|
|
|
|
diff -u ci/testdata/want_cache /tmp/got_cache || {
|
|
>&2 echo "ERROR: unexpected artifacts. This is TODO."
|
|
# TODO: Go 1.20 regressed this. Find a way to re-enable. See README.
|
|
#exit 1
|
|
exit 0
|
|
}
|