add .gitlab-ci.yml
[nmigen-gf.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 # one package per line to simplify sorting, git diff, etc.
12 - >-
13 apt-get -y install
14 autoconf
15 bison
16 build-essential
17 ccache
18 clang
19 cmake
20 curl
21 flex
22 gawk
23 git
24 gperf
25 graphviz
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 xdot
41 - export PATH="/usr/lib/ccache:$PATH"
42 - export CCACHE_BASEDIR="$PWD"
43 - export CCACHE_DIR="$PWD/ccache"
44 - export CCACHE_COMPILERCHECK=content
45 - ccache --zero-stats || true
46 - ccache --show-stats || true
47 - python3 -m pip install --user pytest-xdist
48 after_script:
49 - export CCACHE_DIR="$PWD/ccache"
50 - ccache --show-stats
51 script:
52 - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
53 - pushd yosys
54 - git rev-parse HEAD
55 - make config-gcc
56 - make -j$(nproc)
57 - make install
58 - popd
59 - yosys -V
60
61 - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
62 - pushd SymbiYosys
63 - git rev-parse HEAD
64 - make install
65 - popd
66
67 - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
68 - pushd yices2
69 - git rev-parse HEAD
70 - autoconf
71 - ./configure
72 - make -j$(nproc)
73 - make install
74 - popd
75
76 - git clone --depth 1 https://github.com/Z3Prover/z3.git z3
77 - pushd z3
78 - git rev-parse HEAD
79 - python scripts/mk_make.py
80 - cd build
81 - make -j$(nproc)
82 - make install
83 - popd
84
85 - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
86 - pushd nmigen
87 - git rev-parse HEAD
88 - python3 setup.py develop
89 - popd
90
91 - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
92 - pushd nmutil
93 - git rev-parse HEAD
94 - python3 setup.py develop
95 - popd
96
97 - python3 setup.py develop
98
99 - pytest -n auto