summary refs log tree commit diff stats
path: root/.travis.yml
blob: 4a14d9a237f8eebd78eef87f354b3d4b55a26fca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
sudo: false
language: c

dist: xenial

matrix:
  fast_finish: true

  include:
    - os: linux
      env:
        - NIM_COMPILE_TO_CPP=false
        - CPU=amd64

    - os: linux
      env:
        - NIM_COMPILE_TO_CPP=false
        - CPU=i386
      addons:
        apt:
          packages:
            - gcc-multilib
            - g++-multilib
            - libcurl4-openssl-dev:i386
            - libgc-dev:i386
            - libglib2.0-dev:i386
            - libpulse-dev:i386
            - libsdl1.2-dev:i386
            - libsfml-dev:i386

    - os: osx
      env:
        - NIM_COMPILE_TO_CPP=false
        - CPU=amd64

    - os: osx
      env:
        - NIM_COMPILE_TO_CPP=true
        - CPU=amd64

# To allow failures for a failing configuration, use something like:
#  allow_failures:
#    - env: NIM_COMPILE_TO_CPP=true
#    - os: osx

addons:
  apt:
    # update the list above if more deps are introduced
    packages:
    - libcurl4-openssl-dev
    - libsdl1.2-dev
    - libgc-dev
    - libsfml-dev
  homebrew:
    packages:
    - boehmgc
    - make
    - sfml
    update: true

install:
  - if [[ $CPU = i386 ]]; then echo -e "#!/bin/bash\n$(which gcc) -m32 \"\$@\"" > bin/gcc; fi
  - if [[ $CPU = i386 ]]; then chmod 755 bin/gcc; fi
  - if [[ $CPU = i386 ]]; then echo -e "#!/bin/bash\n$(which g++) -m32 \"\$@\"" > bin/g++; fi
  - if [[ $CPU = i386 ]]; then chmod 755 bin/g++; fi

before_script:
  - git clone --depth 1 https://github.com/nim-lang/csources.git
  - export PATH="$PWD/bin${PATH:+:$PATH}"
  - make -C csources -j 2 LD=$CC ucpu=$CPU

script:
  - echo "travis_fold:start:nim_c_koch"
  - nim c koch
  - echo "travis_fold:end:nim_c_koch"
  - ./koch runCI

before_deploy:
  # Make https://nim-lang.github.io/Nim work the same as https://nim-lang.github.io/Nim/overview.html
  - cp -f ./doc/html/overview.html ./doc/html/index.html
deploy:                         # https://nim-lang.github.io/Nim
  provider: pages
  # local-dir *has* to be a relative path from the repo root.
  local-dir: "doc/html"
  skip-cleanup: true
  github-token: "$GITHUB_OAUTH_TOKEN"
  keep-history: false
  on:
    branch: devel

# Extract failed tests
after_failure: nim c -r tools/ci_testresults.nim