pysvp64db: fix traversal
[openpower-isa.git] / .gitlab-ci.yml
index 3c8f412cc33ec3019d8748f5a362fe182bd28597..1cfbf1fc9a1d8973949481ecd26f408d08f6a432 100644 (file)
@@ -4,6 +4,7 @@ cache:
     when: always
     paths:
         - ccache
+        - linux.bundle
 
 build:
     stage: build
@@ -12,6 +13,7 @@ build:
         # one package per line to simplify sorting, git diff, etc.
         - >-
             apt-get -y install --no-install-recommends
+            aria2
             autoconf
             binutils-powerpc64-linux-gnu
             binutils-powerpc64le-linux-gnu
@@ -22,6 +24,7 @@ build:
             cmake
             curl
             flex
+            g++-powerpc64le-linux-gnu
             gawk
             git
             gperf
@@ -47,7 +50,12 @@ build:
         - export CCACHE_COMPILERCHECK=content
         - ccache --zero-stats || true
         - ccache --show-stats || true
-        - python3 -m pip install --user pytest-xdist==3.3.1 pytest==7.3.1
+        # 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
@@ -103,8 +111,25 @@ build:
         - 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; }
 
-        - SILENCELOG='!*,default' pytest -v --maxfail=10
+        - python3 -m openpower.syscalls json linux > src/openpower/syscalls/syscalls.json
+
+        # maxschedchunk substantially speeds up testing -- by ~2x on CI
+        # it is supported by the version of pytest-xdist used by both this file
+        # and the dev-env-setup scripts (which should be the same versions).
+        #
+        # maxfail=10 because otherwise the output log is too long and gitlab
+        # truncates it, removing the testing summary.
+        - SILENCELOG=1 SIM_NO_VCD=1 pytest -v --maxfail=10 --maxschedchunk=1