X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci.yml;h=867411fa4ddce7beef88c6b704c9f3f8df997219;hb=b79586f9c44294c5f831ee62a41a582ed0be987f;hp=6f06981b9891343f9073906710a9876aeeb49a84;hpb=415b6b426610f06fcf176f1d3d8eeb9c1e6b6885;p=soc.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6f06981b..867411fa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,27 +3,35 @@ image: debian:10 cache: paths: - ccache + - .cache/pip + - apt-cache + when: 'always' variables: + PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" GIT_SUBMODULE_STRATEGY: recursive build: stage: build + timeout: 2h 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 + autoconf gperf libgmp-dev libmpfr-dev libssl-dev curl - 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 + - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + - source $HOME/.cargo/env after_script: - export CCACHE_DIR="$PWD/ccache" - ccache --show-stats @@ -36,21 +44,21 @@ build: - pushd yices2 - autoconf - ./configure - - make -j$(nproc) + - make -j$(nproc) > /dev/null - make install - popd - git clone --depth 1 https://github.com/YosysHQ/yosys.git yosys - pushd yosys - make config-gcc - - make -j$(nproc) + - make -j$(nproc) > /dev/null - make install - popd - yosys -V - git clone --depth 1 https://github.com/YosysHQ/SymbiYosys.git SymbiYosys - pushd SymbiYosys - - make install + - make install > /dev/null - popd - git clone --depth 1 https://github.com/nmigen/nmigen.git nmigen @@ -58,16 +66,35 @@ build: - python setup.py develop - popd - - git clone --depth 1 git://git.libre-riscv.org/nmutil.git nmutil + - git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil - pushd nmutil - python setup.py develop - popd - - git clone --depth 1 git://git.libre-riscv.org/ieee754fpu.git ieee754fpu + - git clone --depth 1 https://git.libre-soc.org/git/nmigen-soc.git nmigen-soc + - pushd nmigen-soc + - git tag | xargs git tag -d + - python setup.py develop + - popd + + - git clone --depth 1 https://git.libre-soc.org/git/ieee754fpu.git ieee754fpu - pushd ieee754fpu - python setup.py develop - popd + - git clone --depth 1 https://git.libre-soc.org/git/openpower-isa.git openpower-isa + - pushd openpower-isa + - python3 setup.py develop + - make -j$(nproc) svanalysis > /dev/null + - make -j$(nproc) pyfnwriter > /dev/null 2>&1 + - make -j$(nproc) pywriter > /dev/null 2>&1 + - popd + + - git clone --depth 1 https://git.libre-soc.org/git/c4m-jtag.git c4m-jtag + - pushd c4m-jtag + - python setup.py develop + - popd + - IEEE754FPU_PATH="$(pwd)"/ieee754fpu - git clone --depth 1 --recursive https://github.com/billzorn/sfpy.git sfpy - pushd sfpy @@ -85,6 +112,12 @@ build: - pip install dist/sfpy*.whl - popd + - python3 -m pip install 'maturin>=0.11,<0.12' + - git clone --depth 1 https://git.libre-soc.org/git/power-instruction-analyzer.git pia + - pushd pia + - maturin build --cargo-extra-args=--features=python-extension + - python3 -m pip install target/wheels/*.whl + - popd + - python setup.py develop - - python src/soc/decoder/pseudo/pywriter.py - - nosetests -v --processes=-1 + - nosetests -v --processes=-1 --process-timeout=120 -w src/