image: debian:10
cache:
+ when: always
paths:
- ccache
stage: build
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 ccache
- - export PATH="/usr/lib/ccache:$PATH"
+ 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
- after_script:
- - export CCACHE_DIR="$PWD/ccache"
- - ccache --show-stats
+ - python3 -m pip install --user pytest-xdist
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/nmigen/nmigen.git nmigen
+ - 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
- python3 setup.py develop
- - python3 setup.py test
+ - pytest -n auto src/nmutil