bfadbc2aa1400f7e75e2e68c74862c0433b62956
[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 https://github.com/billzorn/sfpy.git sfpy
52 - git rev-parse HEAD
53 - pushd sfpy
54 - pushd berkeley-softfloat-3
55 - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch
56 - popd
57 - pushd SoftPosit
58 - git apply ../softposit_sfpy_build.patch
59 - git apply "$IEEE754FPU_PATH"/SoftPosit.patch
60 - popd
61 - ln -s `which python3` ~/.local/bin/python
62 - make lib -j$(nproc)
63 - make cython -j$(nproc)
64 - make wheel -j$(nproc)
65 - rm ~/.local/bin/python
66 - python3 -m pip install --user dist/sfpy*.whl
67 - popd
68
69 - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
70 - pushd yosys
71 - git rev-parse HEAD
72 - make config-gcc
73 - make -j$(nproc)
74 - make install
75 - popd
76 - yosys -V
77
78 - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
79 - pushd SymbiYosys
80 - git rev-parse HEAD
81 - make install
82 - popd
83
84 - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
85 - pushd yices2
86 - git rev-parse HEAD
87 - autoconf
88 - ./configure
89 - make -j$(nproc)
90 - make install
91 - popd
92
93 - git clone --depth 1 https://github.com/Z3Prover/z3.git z3
94 - pushd z3
95 - git rev-parse HEAD
96 - python scripts/mk_make.py
97 - cd build
98 - make -j$(nproc)
99 - make install
100 - popd
101
102 - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
103 - pushd nmigen
104 - git rev-parse HEAD
105 - python3 setup.py develop
106 - popd
107
108 - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
109 - pushd nmutil
110 - git rev-parse HEAD
111 - python3 setup.py develop
112 - popd
113
114 - python3 setup.py develop
115
116 - pytest -n auto src/ieee754