--- /dev/null
+image: debian:10
+
+cache:
+ paths:
+ - ccache
+
+build:
+ stage: build
+ before_script:
+ - apt-get update
+ # one package per line to simplify sorting, git diff, etc.
+ - >-
+ apt-get -y install
+ autoconf
+ bison
+ build-essential
+ ccache
+ clang
+ cmake
+ curl
+ flex
+ gawk
+ git
+ gperf
+ graphviz
+ libboost-program-options-dev
+ libffi-dev
+ libftdi-dev
+ libgmp-dev
+ libreadline-dev
+ mercurial
+ pkg-config
+ python
+ python3
+ python3-dev
+ python3-pip
+ python3-setuptools
+ python3-wheel
+ tcl-dev
+ xdot
+ - export PATH="/usr/lib/ccache:$PATH"
+ - export CCACHE_BASEDIR="$PWD"
+ - export CCACHE_DIR="$PWD/ccache"
+ - export CCACHE_COMPILERCHECK=content
+ - ccache --zero-stats || true
+ - ccache --show-stats || true
+ - python3 -m pip install --user pytest-xdist
+ after_script:
+ - export CCACHE_DIR="$PWD/ccache"
+ - ccache --show-stats
+ script:
+ - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
+ - pushd yosys
+ - git rev-parse HEAD
+ - make config-gcc
+ - make -j$(nproc)
+ - make install
+ - popd
+ - yosys -V
+
+ - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
+ - pushd SymbiYosys
+ - git rev-parse HEAD
+ - make install
+ - popd
+
+ - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
+ - pushd yices2
+ - git rev-parse HEAD
+ - autoconf
+ - ./configure
+ - make -j$(nproc)
+ - make install
+ - popd
+
+ - git clone --depth 1 https://github.com/Z3Prover/z3.git z3
+ - pushd z3
+ - git rev-parse HEAD
+ - python scripts/mk_make.py
+ - cd build
+ - make -j$(nproc)
+ - make install
+ - popd
+
+ - git clone --depth 1 https://gitlab.com/nmigen/nmigen.git nmigen
+ - pushd nmigen
+ - git rev-parse HEAD
+ - python3 setup.py develop
+ - popd
+
+ - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
+ - pushd nmutil
+ - git rev-parse HEAD
+ - python3 setup.py develop
+ - popd
+
+ - python3 setup.py develop
+
+ - pytest -n auto