add srcstep and correct PC-advancing during Sub-PC looping in ISACaller
[soc.git] / .gitlab-ci.yml
index 752698049f801114a8a2fa297d71b6b6725797b9..de5914acbfaf70c4e53f41b01726c67565c44f20 100644 (file)
@@ -3,17 +3,25 @@ image: debian:10
 cache:
     paths:
         - ccache
+        - .cache/pip
+        - apt-cache
+
+variables:
+    PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+    GIT_SUBMODULE_STRATEGY: recursive
 
 build:
     stage: build
     before_script:
-        - apt-get update
+        - mkdir -p apt-cache
+        - apt-get -o dir::cache::archives="$(pwd)/apt-cache" update
         - >-
-            apt-get -y install
+            apt-get -o dir::cache::archives="$(pwd)/apt-cache" -y install
             build-essential git python3-dev python3-pip
             python3-setuptools python3-wheel pkg-config tcl-dev
             libreadline-dev bison flex libffi-dev ccache python3-venv
             binutils-powerpc64-linux-gnu binutils-powerpc64le-linux-gnu
+            autoconf gperf libgmp-dev libmpfr-dev libssl-dev
         - export PATH="/usr/lib/ccache:$PATH"
         - export CCACHE_BASEDIR="$PWD"
         - export CCACHE_DIR="$PWD/ccache"
@@ -28,6 +36,14 @@ build:
         - . .env/bin/activate
         - pip install nose
 
+        - git clone --depth 1 https://github.com/SRI-CSL/yices2.git yices2
+        - pushd yices2
+        - autoconf
+        - ./configure
+        - make -j$(nproc)
+        - make install
+        - popd
+
         - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys
         - pushd yosys
         - make config-gcc
@@ -36,6 +52,11 @@ build:
         - popd
         - yosys -V
 
+        - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys
+        - pushd SymbiYosys
+        - make install
+        - popd
+
         - git clone --depth 1 https://github.com/nmigen/nmigen.git nmigen
         - pushd nmigen
         - python setup.py develop
@@ -46,6 +67,11 @@ build:
         - python setup.py develop
         - popd
 
+        - git clone --depth 1 git://git.libre-riscv.org/nmigen-soc.git nmigen-soc
+        - pushd nmigen-soc
+        - python setup.py develop
+        - popd
+
         - git clone --depth 1 git://git.libre-riscv.org/ieee754fpu.git ieee754fpu
         - pushd ieee754fpu
         - python setup.py develop
@@ -70,4 +96,4 @@ build:
 
         - python setup.py develop
         - python src/soc/decoder/pseudo/pywriter.py
-        - nosetests -v --processes=-1
+        - nosetests -v --processes=-1 --process-timeout=120