2015-11-28 16:53:28 +00:00
|
|
|
## Building Nim projects on Travis CI
|
|
|
|
|
2015-11-28 16:56:17 +00:00
|
|
|
Building your code on Travis CI is useful to check regressions against the master and devel branches of Nim.
|
|
|
|
|
2015-11-28 16:53:28 +00:00
|
|
|
[source,yaml]
|
|
|
|
----
|
|
|
|
language: c
|
|
|
|
env:
|
|
|
|
# Build and test against the master and devel branches of Nim
|
|
|
|
- BRANCH=master
|
|
|
|
- BRANCH=devel
|
|
|
|
compiler:
|
|
|
|
# Build and test using both gcc and clang
|
|
|
|
- gcc
|
|
|
|
- clang
|
|
|
|
matrix:
|
|
|
|
allow_failures:
|
|
|
|
# Ignore failures when building against the devel Nim branch
|
|
|
|
- env: BRANCH=devel
|
|
|
|
fast_finish: true
|
|
|
|
install:
|
|
|
|
- |
|
|
|
|
if [ ! -x nim-$BRANCH/bin/nim ]; then
|
|
|
|
git clone -b $BRANCH --depth 1 git://github.com/nim-lang/nim nim-$BRANCH/
|
|
|
|
cd nim-$BRANCH
|
|
|
|
git clone -b $BRANCH --depth 1 git://github.com/nim-lang/csources csources/
|
|
|
|
cd csources
|
|
|
|
sh build.sh
|
|
|
|
cd ..
|
|
|
|
rm -rf csources
|
|
|
|
bin/nim c koch
|
|
|
|
./koch boot -d:release
|
|
|
|
else
|
|
|
|
cd nim-$BRANCH
|
|
|
|
git fetch origin
|
|
|
|
if ! git merge FETCH_HEAD | grep "Already up-to-date"; then
|
|
|
|
bin/nim c koch
|
|
|
|
./koch boot -d:release
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
cd ..
|
|
|
|
before_script:
|
|
|
|
- export PATH="nim-$BRANCH/bin${PATH:+:$PATH}"
|
|
|
|
script:
|
|
|
|
- nim c --cc:$CC --verbosity:0 -r my_test_file.nim # Replace this
|
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- nim-master
|
|
|
|
- nim-devel
|
|
|
|
branches:
|
|
|
|
except:
|
|
|
|
- gh-pages
|
|
|
|
|
|
|
|
----
|