Revert "ci: Switch over to an autoscaling GKE cluster for builds."
authorEric Anholt <eric@anholt.net>
Wed, 6 Nov 2019 19:14:14 +0000 (11:14 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 6 Nov 2019 19:38:07 +0000 (11:38 -0800)
This reverts commit c9df92bf795af878c38538c85f781291c78ec513.

It turns out that gitlab-runner uses kubernetes all wrong, spawning Pods
and sshing into them to run the script instead of Jobs containing the
script to run.  This means that when anything goes wrong with the pod
(autoscale, preemption, VM maintenance, cluster reconfiguration), the job
fails and only sometimes gets handled as a runner system failure.  Even
worse, due to bugs in either the runner or k8s itself, some classes of
timeout-related failure end up not being reported as failures, and the job
will incorrectly report success!

Disable using the "autoscale" cluster until we can do something else
(docker-machine instead of k8s, or the custom third-party k8s-native
runner).

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Acked-by: Daniel Stone <daniels@collabora.com>
.gitlab-ci.yml
.gitlab-ci/lava-gitlab-ci.yml
.gitlab-ci/meson-build.sh
.gitlab-ci/run-shader-db.sh

index 3c9b41d041472973e787b8ee1b4fc136a625eb14..2882e449ff70c51872591faa8d8a77a40026ae69 100644 (file)
@@ -146,30 +146,19 @@ debian-10-test:arm64:
 # Just Linux
 .build-linux:
   extends: .build-common
-  tags:
-    - mesa-autoscale
   cache:
     key: ${CI_JOB_NAME}
     paths:
       - ccache
   variables:
     CCACHE_COMPILERCHECK: "content"
-    NINJA_FLAGS: "-j8" # autoscale is provisioned at 4 CPUs/job.
-    # kubernetes (the mesa-autoscale runner) always has a clean working
-    # dir, so we can't reuse the git clone, but that also means we don't
-    # need to download any extra history (normally extra history is
-    # needed so that a future fetch can find a shared parent).
-    GIT_DEPTH: 1
-    # Autoscale runners have 300GB of disk (since iops/throughput
-    # scales with disk size!), but we want to leave lots of space for
-    # container caching.
-    CCACHE_SIZE: 20G
   # Use ccache transparently, and print stats before/after
   before_script:
     - export PATH="/usr/lib/ccache:$PATH"
     - export CCACHE_BASEDIR="$PWD"
-    - ccache --max-size="$CCACHE_SIZE" || true
-    - if [ "$CCACHE_DIR" = "$CI_PROJECT_DIR/ccache" ]; then ccache --zero-stats; fi
+    - export CCACHE_DIR="$PWD/ccache"
+    - ccache --max-size=1500M
+    - ccache --zero-stats || true
     - ccache --show-stats || true
   after_script:
     # In case the install dir is being saved as artifacts, tar it up
@@ -178,6 +167,7 @@ debian-10-test:arm64:
     - if [ -d install ]; then
         tar -cf artifacts/install.tar install;
       fi
+    - export CCACHE_DIR="$PWD/ccache"
     - ccache --show-stats
 
 .build-windows:
@@ -201,7 +191,7 @@ debian-10-test:arm64:
     - .build-linux
     - .use-debian-10:amd64
   variables:
-    SCONSFLAGS: "-j8"
+    SCONSFLAGS: "-j4"
   script:
     - .gitlab-ci/scons-build.sh
 
@@ -263,9 +253,6 @@ meson-main:
     GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
     EXTRA_OPTION: >
       -D I-love-half-baked-turnips=true
-    NINJA_FLAGS: "-j4"
-    CCACHE_DIR: "$CI_PROJECT_DIR/ccache"
-    CCACHE_SIZE: "1500M"
   needs:
     - debian-10:arm64
   tags:
index e3b3110985778726263c71736304444ae4b8926d..89be170b82f4acc70c60c2272288673478b62075 100644 (file)
@@ -88,7 +88,7 @@ lava-container:arm64:
         -D gallium-xa=false
         -D gallium-nine=false
         -D llvm=false
-    - ninja -C mesa-build -j8
+    - ninja -C mesa-build -j4
     - ninja -C mesa-build install
     - find /artifacts/rootfs/mesa/lib -name \*.so -exec ${GCC_ARCH}-strip {} \;
 
index 0f4f490447d798164847079e4140d5c3e0788fbf..d56e526ef207c86708e390814f426d3351291ba2 100755 (executable)
@@ -58,7 +58,7 @@ meson _build --native-file=native.file \
       ${EXTRA_OPTION}
 cd _build
 meson configure
-ninja ${NINJA_FLAGS}
+ninja -j4
 LC_ALL=C.UTF-8 ninja test
 ninja install
 cd ..
index a62a91b5ea99a6b0f0eabf37dd9d6da86f861dcb..7580457d850fccdb62701ffe6d0b3c4ec57cb245 100755 (executable)
@@ -12,6 +12,6 @@ cd /usr/local/shader-db
 
 for driver in freedreno v3d; do
     env LD_PRELOAD=$LIBDIR/lib${driver}_noop_drm_shim.so \
-        ./run -j 8 ./shaders \
+        ./run -j 4 ./shaders \
             > $ARTIFACTSDIR/${driver}-shader-db.txt
 done