image: debian:10
+cache:
+ when: always
+ paths:
+ - ccache
+
build:
stage: build
- script:
+ before_script:
- apt-get update
+ # one package per line to simplify sorting, git diff, etc.
- >-
apt-get -y install
- build-essential git python3-dev python3-pip
- python3-setuptools python3-wheel pkg-config tcl-dev
- libreadline-dev bison flex libffi-dev
-
- - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
+ 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)
- popd
- yosys -V
- - git clone --depth 1 https://github.com/nmigen/nmigen.git nmigen
+ - 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
- - python3 setup.py test
+ - pytest -n auto src/nmutil