image: debian:10 cache: when: always 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 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 - export PATH="$HOME/.local/bin:/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 script: - git clone --depth 1 -b yosys-0.17 https://github.com/YosysHQ/yosys.git yosys - pushd yosys - make config-gcc - make -j$(nproc) - make install - popd - yosys -V - git clone https://github.com/YosysHQ/SymbiYosys.git SymbiYosys - pushd SymbiYosys - git checkout d10e472edf4ea9be3aa6347b264ba575fbea933a - make install - popd - git clone --depth 1 -b Yices-2.6.4 https://github.com/SRI-CSL/yices2.git yices2 - pushd yices2 - autoconf - ./configure - make -j$(nproc) - make install - popd - git clone --depth 1 -b z3-4.8.17 https://github.com/Z3Prover/z3.git z3 - pushd z3 - 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 - python3 setup.py develop - pytest -n auto src/nmutil