speed up ==, hash, <, >, <=, and >= for plain_data
[nmutil.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 -b yosys-0.17 https://github.com/YosysHQ/yosys.git yosys
49 - pushd yosys
50 - make config-gcc
51 - make -j$(nproc)
52 - make install
53 - popd
54 - yosys -V
55
56 - git clone https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
57 - pushd SymbiYosys
58 - git checkout d10e472edf4ea9be3aa6347b264ba575fbea933a
59 - make install
60 - popd
61
62 - git clone --depth 1 -b Yices-2.6.4 https://github.com/SRI-CSL/yices2.git yices2
63 - pushd yices2
64 - autoconf
65 - ./configure
66 - make -j$(nproc)
67 - make install
68 - popd
69
70 - git clone --depth 1 -b z3-4.8.17 https://github.com/Z3Prover/z3.git z3
71 - pushd z3
72 - python scripts/mk_make.py
73 - cd build
74 - make -j$(nproc)
75 - make install
76 - popd
77
78 - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
79 - pushd nmigen
80 - git rev-parse HEAD
81 - python3 setup.py develop
82 - popd
83
84 - python3 setup.py develop
85
86 - pytest -n auto src/nmutil