diff --git a/.appveyor.yml b/.appveyor.yml index 97cb2449b..761921937 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -43,13 +43,8 @@ install: - 7z x -y "%ROCKSDB_ARCHIVE%" > nul - IF "%PLATFORM%" == "x64" ( copy %CD%\x64\librocksdb.dll %CD%\bin\librocksdb.dll ) ELSE ( copy %CD%\x86\librocksdb.dll %CD%\bin\librocksdb.dll ) - SET PATH=%CD%\%MINGW_DIR%\bin;%CD%\bin;%CD%\Nim\bin;%PATH% - - git clone https://github.com/nim-lang/Nim.git + - git clone https://github.com/status-im/Nim.git - cd %CD%\Nim - - git remote add statusim https://github.com/status-im/Nim.git - - git fetch statusim - - git config --global user.email "you@example.com" - - git config --global user.name "Your Name" - - for /f "tokens=*" %%G IN ('git branch -a --list ^"statusim/status-autopatch-*^"') DO (git merge %%G) - git clone --depth 1 https://github.com/nim-lang/csources - cd csources - IF "%PLATFORM%" == "x64" ( build64.bat ) else ( build.bat ) diff --git a/.travis.yml b/.travis.yml index d5f79a26a..7acd056ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,20 @@ +language: c # or other C/C++ variants + +# https://docs.travis-ci.com/user/caching/#ccache-cache +cache: + ccache: true + directories: + - rocksdb-5.14.2 + - nim + +install: + - export NIMVER=$(git ls-remote https://github.com/status-im/nim.git HEAD | cut -f 1) + - "{ [ -f nim/$NIMVER/bin/nim ] && [ -f nim/$NIMVER/bin/nimble ] ; } || { rm -rf nim ; mkdir -p nim; git clone https://github.com/status-im/nim.git nim/$NIMVER; cd nim/$NIMVER; sh build_all.sh; cd ../.. ; }" + - export PATH=$PWD/nim/$NIMVER/bin:$PATH + +script: + - nimble install -dy && nimble test + matrix: # allow_failures: # - os: osx @@ -5,36 +22,15 @@ matrix: include: - os: linux sudo: required - services: - - docker before_install: - - docker pull statusteam/nim-base - script: - - docker run statusteam/nim-base nim --version - - docker run -v "$(pwd):/project" -w /project statusteam/nim-base sh -c "nimble install -dy && nimble test" + - sudo apt-get install -y libssl-dev libgflags-dev libsnappy-dev + - "[ -f rocksdb-5.14.2/Makefile ] || { wget https://github.com/facebook/rocksdb/archive/v5.14.2.tar.gz && tar xvf v5.14.2.tar.gz; }" + # rocksdb not present on trusty - on a newer ubuntu you can apt-get install -y librocksdb-dev + - cd rocksdb-5.14.2 && make shared_lib -j$(nproc) && sudo make INSTALL_PATH=/usr install-shared && cd .. - os: osx before_install: - brew update - - brew install rocksdb + - brew install rocksdb ccache + - export PATH="/usr/local/opt/ccache/libexec:$PATH" # - brew install gcc - - - git clone https://github.com/nim-lang/nim.git - - cd nim - - git remote add statusim https://github.com/status-im/nim.git - - git fetch statusim - - git config --global user.email "you@example.com" - - git config --global user.name "Your Name" - - for b in $(git branch -a --list 'statusim/status-autopatch-*'); do git merge $b; done - - git clone --depth 1 https://github.com/nim-lang/csources.git - - cd csources - - sh build.sh - - cd .. - - export PATH=$PWD/bin:$PATH - - nim c koch - - ./koch boot -d:release - - ./koch nimble - - cd .. - - script: - - nimble install -dy && nimble test