travis: cache leveldb artifacts to reduce build time

This commit is contained in:
Dylan K. Taylor 2020-02-07 14:05:11 +00:00
parent f713cf25b1
commit 4140af459e
2 changed files with 28 additions and 4 deletions

View File

@ -7,10 +7,7 @@ php:
before_script:
- phpenv config-rm xdebug.ini
- LEVELDB_VERSION=10f59b56bec1db3ffe42ff265afe22182073e0e2
- curl -fsSL "https://github.com/pmmp/leveldb-mcpe/archive/$LEVELDB_VERSION.tar.gz" | tar -zx
- mv leveldb-mcpe-$LEVELDB_VERSION leveldb-mcpe
- cd leveldb-mcpe && make -j4 sharedlibs && mv out-shared/libleveldb.* . && cd ..
- ./tests/build-leveldb.sh 10f59b56bec1db3ffe42ff265afe22182073e0e2
- git clone https://github.com/reeze/php-leveldb.git leveldb
- cd leveldb
- git checkout 9bcae79f71b81a5c3ea6f67e45ae9ae9fb2775a5
@ -47,5 +44,8 @@ script:
- composer install --no-dev
- ./tests/travis.sh -t4
cache:
- leveldb-mcpe
notifications:
email: false

24
tests/build-leveldb.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
set -e
LEVELDB_VERSION="$1"
if [ ! -f "./leveldb-mcpe/built_version" ] || [ $(cat "./leveldb-mcpe/built_version") != "$LEVELDB_VERSION" ]; then
echo "Building new LevelDB"
rm -rf "./leveldb-mcpe" || true
mkdir "./leveldb-mcpe"
curl -fsSL "https://github.com/pmmp/leveldb-mcpe/archive/$LEVELDB_VERSION.tar.gz" | tar -zx
mv "./leveldb-mcpe-$LEVELDB_VERSION" leveldb-mcpe-build
cd leveldb-mcpe-build
make -j4 sharedlibs
#put the artifacts in a separate dir, to avoid bloating travis cache"
mv out-shared/libleveldb.* ../leveldb-mcpe
mv include ../leveldb-mcpe
cd ../leveldb-mcpe
echo "$LEVELDB_VERSION" > "./built_version"
cd ..
else
echo "Using cached build for LevelDB version $LEVELDB_VERSION"
fi