switch to exact version of cython
[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-venv
41 python3-wheel
42 tcl-dev
43 - export PATH="/usr/lib/ccache:$PATH"
44 - export CCACHE_BASEDIR="$PWD"
45 - export CCACHE_DIR="$PWD/ccache"
46 - export CCACHE_COMPILERCHECK=content
47 - ccache --zero-stats || true
48 - ccache --show-stats || true
49 - python3 -m venv --system-site-packages .venv
50 - . .venv/bin/activate
51 - pip install pytest-xdist==3.3.1 pytest==7.3.1
52 script:
53 - . .venv/bin/activate
54
55 - IEEE754FPU_PATH="$(pwd)"
56 - git clone --depth 1 --recursive -b v0.6.0 https://github.com/billzorn/sfpy.git sfpy
57 - pushd sfpy
58 - git apply "$IEEE754FPU_PATH"/sfpy.patch
59 - pushd berkeley-softfloat-3
60 - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch
61 - popd
62 - pushd SoftPosit
63 - git apply ../softposit_sfpy_build.patch
64 - git apply "$IEEE754FPU_PATH"/SoftPosit.patch
65 - popd
66 - pip install -r requirements.txt
67 - make lib -j$(nproc)
68 - make cython -j$(nproc)
69 - make wheel -j$(nproc)
70 - pip install --force-reinstall dist/sfpy*.whl
71 - popd
72
73 - git clone --depth 1 -b smtlib2-expr-support-on-0.13 https://git.libre-soc.org/git/yosys.git yosys
74 - pushd yosys
75 - git rev-parse HEAD
76 - make config-gcc
77 - make -j$(nproc)
78 - make install
79 - popd
80 - yosys -V
81
82 - git clone https://git.libre-soc.org/git/SymbiYosys.git sby
83 - pushd sby
84 - git checkout db740839b737ee55b8b39f1b29780872d32d248a
85 - make install
86 - popd
87
88 - git clone --depth 1 -b Yices-2.6.4 https://github.com/SRI-CSL/yices2.git yices2
89 - pushd yices2
90 - autoconf
91 - ./configure
92 - make -j$(nproc)
93 - make install
94 - popd
95
96 - git clone --depth 1 -b z3-4.8.17 https://github.com/Z3Prover/z3.git z3
97 - pushd z3
98 - python scripts/mk_make.py
99 - cd build
100 - make -j$(nproc)
101 - make install
102 - popd
103
104 - git clone https://github.com/bitwuzla/bitwuzla.git bitwuzla
105 - pushd bitwuzla
106 - git checkout 19dd987a6e246990619751cca07996fac505fd0b
107 - ./contrib/setup-btor2tools.sh
108 - ./contrib/setup-symfpu.sh
109 - ./contrib/setup-cadical.sh
110 - ./configure.sh
111 - cd build
112 - make -j$(nproc)
113 - make install
114 - popd
115
116 - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
117 - pushd nmigen
118 - git rev-parse HEAD
119 - python3 setup.py develop
120 - popd
121
122 - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
123 - pushd nmutil
124 - git rev-parse HEAD
125 - python3 setup.py develop
126 - popd
127
128 - git clone --depth 1 https://git.libre-soc.org/git/pytest-output-to-files.git pytest-output-to-files
129 - pushd pytest-output-to-files
130 - git rev-parse HEAD
131 - python3 setup.py develop
132 - popd
133
134 - python3 setup.py develop
135
136 - pytest -v