forked from fpco/inline-c
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
78 lines (71 loc) · 3.68 KB
/
.travis.yml
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
# Use new container infrastructure to enable caching
sudo: false
# Choose a lightweight base image; we provide our own build tools.
language: c
# GHC depends on GMP. You can add other dependencies here as well.
addons:
apt:
packages:
- libgmp-dev
- libgsl0-dev
- libcairo2-dev
homebrew:
packages:
- cairo
- gsl
matrix:
include:
- env: ARGS="--flag inline-c:gsl-example --flag inline-c-cpp:std-vector-example"
- env: ARGS="--stack-yaml stack-nightly-2021-01-01.yaml --flag inline-c:gsl-example --flag inline-c-cpp:std-vector-example"
- env: ARGS="--stack-yaml stack-lts-14.27.yaml --flag inline-c:gsl-example --flag inline-c-cpp:std-vector-example"
- env: ARGS="--stack-yaml stack-lts-12.26.yaml --flag inline-c:gsl-example --flag inline-c-cpp:std-vector-example"
- env: ARGS="--flag inline-c-cpp:std-vector-example"
os: osx
- env: ARGS="--stack-yaml stack-nightly-2021-01-01.yaml --flag inline-c-cpp:std-vector-example"
os: osx
- env: ARGS="--stack-yaml stack-lts-14.27.yaml --flag inline-c-cpp:std-vector-example"
os: osx
# LTS 12.26 fails with
# inline-c-cpp > Linking .stack-work/dist/x86_64-osx/Cabal-2.2.0.1/build/tests/tests ...
# inline-c-cpp > clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
# inline-c-cpp > clang: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
# inline-c-cpp >
# inline-c-cpp > /Users/travis/build/fpco/inline-c/inline-c-cpp/In file included from /var/folders/nz/vv4_9tw56nv9k3tkvyszvwg80000gn/T/ghc9189_0/ghc_3.c:1:0: error:
# inline-c-cpp >
# inline-c-cpp >
# inline-c-cpp > /Users/travis/build/fpco/inline-c/inline-c-cpp/In file included from /Users/travis/.stack/programs/x86_64-osx/ghc-8.4.4/lib/ghc-8.4.4/include/Rts.h:29:0: error:
# inline-c-cpp >
# inline-c-cpp >
# inline-c-cpp > /Users/travis/build/fpco/inline-c/inline-c-cpp//Users/travis/.stack/programs/x86_64-osx/ghc-8.4.4/lib/ghc-8.4.4/include/Stg.h:29:3: error:
# inline-c-cpp > error: __STDC_VERSION__ does not advertise C99 or later
# inline-c-cpp > |
# inline-c-cpp > 29 | # error __STDC_VERSION__ does not advertise C99 or later
# inline-c-cpp > | ^
# inline-c-cpp > # error __STDC_VERSION__ does not advertise C99 or later
# - env: ARGS="--stack-yaml stack-lts-12.26.yaml --flag inline-c-cpp:std-vector-example"
# os: osx
before_install:
# Download and unpack the stack executable
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- |
if [ `uname` = "Darwin" ]
then
travis_retry sh -c "curl --insecure -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin"
else
travis_retry sh -c "curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'"
fi
# This line does all of the work: installs GHC if necessary, build the library,
# executables, and test suites, and runs the test suites. --no-terminal works
# around some quirks in Travis's terminal implementation.
# -j1: work around /tmp/stack-ce322b87c3e4fa73/test-ghc-env: openBinaryFile: resource busy (file is locked)
# as suggested by ulidtko here https://github.com/commercialhaskell/stack/issues/5024#issuecomment-690063488
script: stack --no-terminal --install-ghc test -j1 --haddock $ARGS
# Caching so the next build will be fast too.
cache:
directories:
- $HOME/.stack
- .stack-work
- inline-c/.stack-work/
- inline-c-cpp/.stack-work/
- sample-cabal-project/.stack-work/