when: always
paths:
- ccache
+ - linux.bundle
build:
stage: build
- apt-get update
# one package per line to simplify sorting, git diff, etc.
- >-
- apt-get -y install
+ apt-get -y install --no-install-recommends
+ aria2
autoconf
binutils-powerpc64-linux-gnu
binutils-powerpc64le-linux-gnu
python3-dev
python3-pip
python3-setuptools
+ python3-setuptools-scm
python3-wheel
+ qemu-system-ppc
tcl-dev
- export PATH="$HOME/.local/bin:/usr/lib/ccache:$PATH"
- export CCACHE_BASEDIR="$PWD"
- export CCACHE_COMPILERCHECK=content
- ccache --zero-stats || true
- ccache --show-stats || true
- - python3 -m pip install --user pytest-xdist
+ # one package per line to simplify sorting, git diff, etc.
+ - >-
+ python3 -m pip install --user
+ pytest-xdist==3.3.1
+ pytest==7.3.1
+ pytest-subtests==0.11.0
script:
- git clone --depth 1 -b yosys-0.17 https://github.com/YosysHQ/yosys.git yosys
- pushd yosys
- python3 setup.py develop
- popd
+ - git clone --depth 1 https://git.libre-soc.org/git/mdis.git mdis
+ - pushd mdis
+ - git rev-parse HEAD
+ - python3 setup.py develop
+ - popd
+
- git clone --depth 1 https://git.libre-soc.org/git/nmutil.git nmutil
- pushd nmutil
- git rev-parse HEAD
- python3 setup.py develop
- popd
+ - git clone --depth 1 https://git.libre-soc.org/git/pytest-output-to-files.git pytest-output-to-files
+ - pushd pytest-output-to-files
+ - git rev-parse HEAD
+ - python3 setup.py develop
+ - popd
+
+ # kernel.org recommends cloning from a bundle in CI since that uses a CDN
+ - if [[ ! -f linux.bundle ]]; then aria2c -x 16 -s 16 -o linux.bundle https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/clone.bundle || { rm -f linux.bundle; exit 1; }; fi
+ - git clone linux.bundle
+ - pushd linux
+ - git remote set-url origin https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
+ - git remote update origin
+ - git checkout v6.5.8
+ - popd
+
- python3 setup.py develop
- make generate &> generate.log || { cat generate.log; false; }
- - pytest -n auto src/openpower --maxfail=5
+ - python3 -m openpower.syscalls json linux > src/openpower/syscalls/syscalls.json
+
+ - SILENCELOG='!*,default' pytest -v --maxfail=10