3b60a8d0e512705b207d2ec4a132089000c922f7
[ieee754fpu.git] / .gitlab-ci.yml
1 image: debian:10
2
3 cache:
4 paths:
5 - ccache
6
7 build:
8 stage: build
9 before_script:
10 - apt-get update
11 - >-
12 apt-get -y install
13 build-essential git python3-dev python3-pip
14 python3-setuptools python3-wheel pkg-config tcl-dev
15 libreadline-dev bison flex libffi-dev ccache python3-venv
16 - export PATH="/usr/lib/ccache:$PATH"
17 - export CCACHE_BASEDIR="$PWD"
18 - export CCACHE_DIR="$PWD/ccache"
19 - export CCACHE_COMPILERCHECK=content
20 - ccache --zero-stats || true
21 - ccache --show-stats || true
22 after_script:
23 - export CCACHE_DIR="$PWD/ccache"
24 - ccache --show-stats
25 script:
26 - python3 -m venv .env
27 - . .env/bin/activate
28
29 - IEEE754FPU_PATH="$(pwd)"
30 - git clone --depth 1 --recursive https://github.com/billzorn/sfpy.git sfpy
31 - pushd sfpy
32 - pushd berkeley-softfloat-3
33 - git apply "$IEEE754FPU_PATH"/berkeley-softfloat.patch
34 - popd
35 - pushd SoftPosit
36 - git apply ../softposit_sfpy_build.patch
37 - git apply "$IEEE754FPU_PATH"/SoftPosit.patch
38 - popd
39 - pip install --upgrade -r requirements.txt
40 - make lib -j$(nproc)
41 - make cython -j$(nproc)
42 - make wheel -j$(nproc)
43 - pip install dist/sfpy*.whl
44 - popd
45
46 - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
47 - pushd yosys
48 - make config-gcc
49 - make -j$(nproc)
50 - make install
51 - popd
52 - yosys -V
53
54 - git clone --depth 1 https://github.com/nmigen/nmigen.git nmigen
55 - pushd nmigen
56 - python setup.py develop
57 - popd
58
59 - git clone --depth 1 git://git.libre-riscv.org/nmutil.git nmutil
60 - pushd nmutil
61 - python setup.py develop
62 - popd
63
64 - python setup.py develop
65
66 - python setup.py test