implement CLDivRemFSMStage
[nmigen-gf.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 libreadline-dev
31 mercurial
32 pkg-config
33 python
34 python3
35 python3-dev
36 python3-pip
37 python3-setuptools
38 python3-wheel
39 tcl-dev
40 - export PATH="$HOME/.local/bin:/usr/lib/ccache:$PATH"
41 - export CCACHE_BASEDIR="$PWD"
42 - export CCACHE_DIR="$PWD/ccache"
43 - export CCACHE_COMPILERCHECK=content
44 - ccache --zero-stats || true
45 - ccache --show-stats || true
46 - python3 -m pip install --user pytest-xdist
47 script:
48 - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
49 - pushd yosys
50 - git rev-parse HEAD
51 - make config-gcc
52 - make -j$(nproc)
53 - make install
54 - popd
55 - yosys -V
56
57 - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
58 - pushd SymbiYosys
59 - git rev-parse HEAD
60 - make install
61 - popd
62
63 - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
64 - pushd yices2
65 - git rev-parse HEAD
66 - autoconf
67 - ./configure
68 - make -j$(nproc)
69 - make install
70 - popd
71
72 - git clone --depth 1 https://github.com/Z3Prover/z3.git z3
73 - pushd z3
74 - git rev-parse HEAD
75 - python scripts/mk_make.py
76 - cd build
77 - make -j$(nproc)
78 - make install
79 - popd
80
81 - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
82 - pushd nmigen
83 - git rev-parse HEAD
84 - python3 setup.py develop
85 - popd
86
87 - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
88 - pushd nmutil
89 - git rev-parse HEAD
90 - python3 setup.py develop
91 - popd
92
93 - python3 setup.py develop
94
95 - pytest -n auto src/nmigen_gf