fix tests/mark as expected failure
[ieee754fpu.git] / .gitlab-ci.yml
1 image: debian:10
2
3 cache:
4 when: always
5 paths:
6 - ccache
7
8 build:
9 stage: build
10 before_script:
11 - apt-get update
12 # one package per line to simplify sorting, git diff, etc.
13 - >-
14 apt-get -y install
15 autoconf
16 bison
17 build-essential
18 ccache
19 clang
20 cmake
21 curl
22 flex
23 gawk
24 git
25 gperf
26 libboost-program-options-dev
27 libffi-dev
28 libftdi-dev
29 libgmp-dev
30 libmpfr-dev
31 libreadline-dev
32 mercurial
33 pkg-config
34 python
35 python3
36 python3-dev
37 python3-keyring
38 python3-pip
39 python3-setuptools
40 python3-wheel
41 tcl-dev
42 - export PATH="$HOME/.local/bin:/usr/lib/ccache:$PATH"
43 - export CCACHE_BASEDIR="$PWD"
44 - export CCACHE_DIR="$PWD/ccache"
45 - export CCACHE_COMPILERCHECK=content
46 - ccache --zero-stats || true
47 - ccache --show-stats || true
48 - python3 -m pip install --user pytest-xdist twine cython
49 script:
50 - IEEE754FPU_PATH="$(pwd)"
51 - git clone --depth 1 --recursive -b v0.6.0 https://github.com/billzorn/sfpy.git sfpy
52 - pushd sfpy
53 - pushd berkeley-softfloat-3
54 - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch
55 - popd
56 - pushd SoftPosit
57 - git apply ../softposit_sfpy_build.patch
58 - git apply "$IEEE754FPU_PATH"/SoftPosit.patch
59 - popd
60 - ln -s `which python3` ~/.local/bin/python
61 - make lib -j$(nproc)
62 - make cython -j$(nproc)
63 - make wheel -j$(nproc)
64 - rm ~/.local/bin/python
65 - python3 -m pip install --user dist/sfpy*.whl
66 - popd
67
68 - git clone --depth 1 -b yosys-0.17 https://github.com/YosysHQ/yosys.git yosys
69 - pushd yosys
70 - make config-gcc
71 - make -j$(nproc)
72 - make install
73 - popd
74 - yosys -V
75
76 - git clone https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
77 - pushd SymbiYosys
78 - git checkout d10e472edf4ea9be3aa6347b264ba575fbea933a
79 - make install
80 - popd
81
82 - git clone --depth 1 -b Yices-2.6.4 https://github.com/SRI-CSL/yices2.git yices2
83 - pushd yices2
84 - autoconf
85 - ./configure
86 - make -j$(nproc)
87 - make install
88 - popd
89
90 - git clone --depth 1 -b z3-4.8.17 https://github.com/Z3Prover/z3.git z3
91 - pushd z3
92 - python scripts/mk_make.py
93 - cd build
94 - make -j$(nproc)
95 - make install
96 - popd
97
98 - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
99 - pushd nmigen
100 - git rev-parse HEAD
101 - python3 setup.py develop
102 - popd
103
104 - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
105 - pushd nmutil
106 - git rev-parse HEAD
107 - python3 setup.py develop
108 - popd
109
110 - python3 setup.py develop
111
112 - pytest