summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-11-06 11:14:14 -0800
committerEric Anholt <[email protected]>2019-11-06 11:38:07 -0800
commitcb655d255466cb2f326ebb8546f37434b5bdb16d (patch)
tree680518939bf0ab4d7837700afab6ceb7b6274a04
parent94e6d17043e2dab2fb0375cf09c26cf5f35b2d73 (diff)
Revert "ci: Switch over to an autoscaling GKE cluster for builds."
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 <[email protected]> Acked-by: Daniel Stone <[email protected]>
-rw-r--r--.gitlab-ci.yml23
-rw-r--r--.gitlab-ci/lava-gitlab-ci.yml2
-rwxr-xr-x.gitlab-ci/meson-build.sh2
-rwxr-xr-x.gitlab-ci/run-shader-db.sh2
4 files changed, 8 insertions, 21 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3c9b41d0414..2882e449ff7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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:
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index e3b31109857..89be170b82f 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -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 {} \;
diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh
index 0f4f490447d..d56e526ef20 100755
--- a/.gitlab-ci/meson-build.sh
+++ b/.gitlab-ci/meson-build.sh
@@ -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 ..
diff --git a/.gitlab-ci/run-shader-db.sh b/.gitlab-ci/run-shader-db.sh
index a62a91b5ea9..7580457d850 100755
--- a/.gitlab-ci/run-shader-db.sh
+++ b/.gitlab-ci/run-shader-db.sh
@@ -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