Updated BuildServices (asciidoc)

This commit is contained in:
Federico Ceratto 2017-08-26 15:55:12 +01:00
parent 06f39fdbee
commit 8aa8b0cf8b
1 changed files with 57 additions and 0 deletions

View File

@ -23,6 +23,63 @@ nim c -r <mytest.nim>
Be aware that the available .deb packages will change over time.
## Building Nim projects on Circle CI v2.0 using Nim Devel
Create .circleci/config.yml as:
[source,yaml]
----
version: 2
jobs:
build:
machine: true
steps:
- run: echo 'export PATH=./Nim/bin:$PATH' >> $BASH_ENV
- checkout
# Reuse cached Nim compiler
- restore_cache:
key: compiler-0000
- run:
command: |
if [ -d Nim ]; then
cd Nim
git fetch
if [ "$(git rev-parse HEAD)" == "$(git rev-parse @{u})" ]; then
echo "Nim is up to date"
build_nim=false
else
echo "pulling new Nim commits"
build_nim=true
git pull
fi
else
echo "cloning Nim for the first time"
build_nim=true
git clone --depth 1 https://github.com/nim-lang/Nim.git
cd Nim
git clone --depth 1 git://github.com/nim-lang/csources.git csources
cd csources
sh build.sh
cd ..
fi
if [ "$build_nim" = true ]; then
./bin/nim c koch
./koch boot -d:release
./koch tools
fi
- save_cache:
key: compiler-0000
paths:
- Nim
- run: nimble build -y
- run: nim c -r <mytest.nim>
- store_artifacts:
path: test-reports/
destination: tr1
- store_test_results:
path: test-reports/
----
## Building Nim projects on Circle CI v2.0 with Docker
On Circle CI 2.0 you can use Docker containers to perform builds. The following example is taken from the following guide and builds against the current Nim version on both Ubuntu and Alpine Linux: https://www.euantorano.co.uk/posts/nim-circle-ci/[Continuous Integration for Nim using Circle CI]