.travis.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. sudo: false
  2. language: c
  3. dist: xenial
  4. matrix:
  5. fast_finish: true
  6. include:
  7. - os: linux
  8. env:
  9. - NIM_COMPILE_TO_CPP=false
  10. - CPU=amd64
  11. - os: linux
  12. env:
  13. - NIM_COMPILE_TO_CPP=false
  14. - CPU=i386
  15. addons:
  16. apt:
  17. packages:
  18. - gcc-multilib
  19. - g++-multilib
  20. - libcurl4-openssl-dev:i386
  21. - libgc-dev:i386
  22. - libglib2.0-dev:i386
  23. - libpulse-dev:i386
  24. - libsdl1.2-dev:i386
  25. - libsfml-dev:i386
  26. - os: osx
  27. env:
  28. - NIM_COMPILE_TO_CPP=false
  29. - CPU=amd64
  30. - os: osx
  31. env:
  32. - NIM_COMPILE_TO_CPP=true
  33. - CPU=amd64
  34. # To allow failures for a failing configuration, use something like:
  35. # allow_failures:
  36. # - env: NIM_COMPILE_TO_CPP=true
  37. # - os: osx
  38. addons:
  39. apt:
  40. # update the list above if more deps are introduced
  41. packages:
  42. - libcurl4-openssl-dev
  43. - libsdl1.2-dev
  44. - libgc-dev
  45. - libsfml-dev
  46. homebrew:
  47. packages:
  48. - boehmgc
  49. - make
  50. - sfml
  51. update: true
  52. install:
  53. - if [[ $CPU = i386 ]]; then echo -e "#!/bin/bash\n$(which gcc) -m32 \"\$@\"" > bin/gcc; fi
  54. - if [[ $CPU = i386 ]]; then chmod 755 bin/gcc; fi
  55. - if [[ $CPU = i386 ]]; then echo -e "#!/bin/bash\n$(which g++) -m32 \"\$@\"" > bin/g++; fi
  56. - if [[ $CPU = i386 ]]; then chmod 755 bin/g++; fi
  57. before_script:
  58. - git clone --depth 1 https://github.com/nim-lang/csources.git
  59. - export PATH="$PWD/bin${PATH:+:$PATH}"
  60. - make -C csources -j 2 LD=$CC ucpu=$CPU
  61. script:
  62. - echo "travis_fold:start:nim_c_koch"
  63. - nim c koch
  64. - echo "travis_fold:end:nim_c_koch"
  65. - ./koch runCI
  66. before_deploy:
  67. # Make https://nim-lang.github.io/Nim work the same as https://nim-lang.github.io/Nim/overview.html
  68. - cp -f ./doc/html/overview.html ./doc/html/index.html
  69. deploy: # https://nim-lang.github.io/Nim
  70. provider: pages
  71. # local-dir *has* to be a relative path from the repo root.
  72. local-dir: "doc/html"
  73. skip-cleanup: true
  74. github-token: "$GITHUB_OAUTH_TOKEN"
  75. keep-history: false
  76. on:
  77. branch: devel
  78. # Extract failed tests
  79. after_failure: nim c -r tools/ci_testresults.nim