ClickHouse/docker/packager/deb/build.sh

67 lines
1.7 KiB
Bash
Raw Normal View History

2019-04-25 12:29:28 +00:00
#!/usr/bin/env bash
set -x -e
2021-04-02 11:06:36 +00:00
# Uncomment to debug ccache.
2021-04-07 20:38:48 +00:00
# export CCACHE_LOGFILE=/build/ccache.log
# export CCACHE_DEBUG=1
2021-04-02 11:06:36 +00:00
2021-04-02 12:09:52 +00:00
ccache --show-config ||:
2019-05-15 17:19:39 +00:00
ccache --show-stats ||:
ccache --zero-stats ||:
2021-04-02 11:06:36 +00:00
2020-10-02 09:40:50 +00:00
read -ra ALIEN_PKGS <<< "${ALIEN_PKGS:-}"
2021-04-24 23:11:31 +00:00
build/release "${ALIEN_PKGS[@]}" | ts '%Y-%m-%d %H:%M:%S'
2019-04-25 12:29:28 +00:00
mv /*.deb /output
2020-09-30 17:06:14 +00:00
mv -- *.changes /output
mv -- *.buildinfo /output
mv /*.rpm /output ||: # if exists
mv /*.tgz /output ||: # if exists
if [ -n "$BINARY_OUTPUT" ] && { [ "$BINARY_OUTPUT" = "programs" ] || [ "$BINARY_OUTPUT" = "tests" ] ;}
then
2020-09-30 17:06:14 +00:00
echo "Place $BINARY_OUTPUT to output"
mkdir /output/binary ||: # if exists
mv /build/obj-*/programs/clickhouse* /output/binary
2021-08-23 14:36:26 +00:00
# Copy all fuzzers if any
FUZZER_TARGETS=$(find /build/obj-*/src -name '*_fuzzer' -execdir basename {} ';' | tr '\n' ' ')
2021-08-23 14:36:26 +00:00
if [[ $FUZZER_TARGETS != "" ]]; then
mkdir -p /output/fuzzers ||: # if exists
for FUZZER_TARGET in $FUZZER_TARGETS
do
FUZZER_PATH=$(find /build/obj-*/src -name "$FUZZER_TARGET")
strip --strip-unneeded "$FUZZER_PATH"
mv "$FUZZER_PATH" /output/fuzzers ||: # if exists
done
tar -zcvf /output/fuzzers.tar.gz /output/fuzzers
rm -rf /output/fuzzers
fi
if [ "$BINARY_OUTPUT" = "tests" ]
then
mv /build/obj-*/src/unit_tests_dbms /output/binary
fi
fi
2021-04-02 12:09:52 +00:00
ccache --show-config ||:
ccache --show-stats ||:
2021-04-02 11:06:36 +00:00
if [ "${CCACHE_DEBUG:-}" == "1" ]
then
find /build -name '*.ccache-*' -print0 \
| tar -c -I pixz -f /output/ccache-debug.txz --null -T -
fi
if [ -n "$CCACHE_LOGFILE" ]
then
# Compress the log as well, or else the CI will try to compress all log
# files in place, and will fail because this directory is not writable.
tar -cv -I pixz -f /output/ccache.log.txz "$CCACHE_LOGFILE"
fi