2018-08-26 00:44:08 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e # fail on any error
|
|
|
|
set -u # treat unset variables as error
|
2018-10-02 01:03:58 +02:00
|
|
|
|
2018-08-26 00:44:08 +02:00
|
|
|
echo "__________Show ENVIROMENT__________"
|
2018-10-02 01:03:58 +02:00
|
|
|
echo "CI_SERVER_NAME: " $CI_SERVER_NAME
|
|
|
|
echo "CARGO_HOME: " $CARGO_HOME
|
|
|
|
echo "CARGO_TARGET: " $CARGO_TARGET
|
|
|
|
echo "CC: " $CC
|
|
|
|
echo "CXX: " $CXX
|
2018-08-26 00:44:08 +02:00
|
|
|
|
|
|
|
echo "__________CARGO CONFIG__________"
|
2018-11-14 15:23:44 +01:00
|
|
|
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
|
|
|
then
|
|
|
|
# use build container's cargo config
|
|
|
|
cat /.cargo/config
|
|
|
|
else
|
|
|
|
mkdir -p .cargo
|
|
|
|
rm -f .cargo/config
|
|
|
|
echo "[target.$CARGO_TARGET]" >> .cargo/config
|
|
|
|
echo "linker= \"$CC\"" >> .cargo/config
|
|
|
|
cat .cargo/config
|
|
|
|
fi
|
|
|
|
|
2018-08-26 00:44:08 +02:00
|
|
|
|
|
|
|
echo "_____ Building target: "$CARGO_TARGET" _____"
|
|
|
|
time cargo build --target $CARGO_TARGET --release --features final
|
|
|
|
time cargo build --target $CARGO_TARGET --release -p evmbin
|
|
|
|
time cargo build --target $CARGO_TARGET --release -p ethstore-cli
|
|
|
|
time cargo build --target $CARGO_TARGET --release -p ethkey-cli
|
|
|
|
time cargo build --target $CARGO_TARGET --release -p whisper-cli
|
|
|
|
|
|
|
|
echo "_____ Post-processing binaries _____"
|
|
|
|
rm -rf artifacts
|
|
|
|
mkdir -p artifacts
|
|
|
|
cd artifacts
|
|
|
|
mkdir -p $CARGO_TARGET
|
|
|
|
cd $CARGO_TARGET
|
2018-11-14 15:23:44 +01:00
|
|
|
cp -v ../../target/$CARGO_TARGET/release/parity ./parity
|
|
|
|
cp -v ../../target/$CARGO_TARGET/release/parity-evm ./parity-evm
|
|
|
|
cp -v ../../target/$CARGO_TARGET/release/ethstore ./ethstore
|
|
|
|
cp -v ../../target/$CARGO_TARGET/release/ethkey ./ethkey
|
|
|
|
cp -v ../../target/$CARGO_TARGET/release/whisper ./whisper
|
|
|
|
|
|
|
|
|
|
|
|
# stripping can also be done on release build time
|
|
|
|
# export RUSTFLAGS="${RUSTFLAGS} -C link-arg=-s"
|
|
|
|
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
|
|
|
then
|
|
|
|
arm-linux-androideabi-strip -v ./*
|
|
|
|
else
|
|
|
|
strip -v ./*
|
|
|
|
fi
|
|
|
|
|
2018-08-26 00:44:08 +02:00
|
|
|
echo "_____ Calculating checksums _____"
|
|
|
|
for binary in $(ls)
|
|
|
|
do
|
|
|
|
rhash --sha256 $binary -o $binary.sha256
|
2018-11-14 15:23:44 +01:00
|
|
|
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
|
|
|
then
|
|
|
|
echo "> ${binary} cannot be hashed with cross-compiled binary"
|
|
|
|
else
|
|
|
|
./parity tools hash $binary > $binary.sha3
|
|
|
|
fi
|
2018-08-26 00:44:08 +02:00
|
|
|
done
|
2018-11-14 15:23:44 +01:00
|
|
|
|