Revert "ci: Switch over to an autoscaling GKE cluster for builds."

This reverts commit c9df92bf79.

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>
This commit is contained in:
Eric Anholt
2019-11-06 11:14:14 -08:00
parent 94e6d17043
commit cb655d2554
4 changed files with 8 additions and 21 deletions

View File

@@ -146,30 +146,19 @@ debian-10-test:arm64:
# Just Linux # Just Linux
.build-linux: .build-linux:
extends: .build-common extends: .build-common
tags:
- mesa-autoscale
cache: cache:
key: ${CI_JOB_NAME} key: ${CI_JOB_NAME}
paths: paths:
- ccache - ccache
variables: variables:
CCACHE_COMPILERCHECK: "content" 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 # Use ccache transparently, and print stats before/after
before_script: before_script:
- export PATH="/usr/lib/ccache:$PATH" - export PATH="/usr/lib/ccache:$PATH"
- export CCACHE_BASEDIR="$PWD" - export CCACHE_BASEDIR="$PWD"
- ccache --max-size="$CCACHE_SIZE" || true - export CCACHE_DIR="$PWD/ccache"
- if [ "$CCACHE_DIR" = "$CI_PROJECT_DIR/ccache" ]; then ccache --zero-stats; fi - ccache --max-size=1500M
- ccache --zero-stats || true
- ccache --show-stats || true - ccache --show-stats || true
after_script: after_script:
# In case the install dir is being saved as artifacts, tar it up # 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 - if [ -d install ]; then
tar -cf artifacts/install.tar install; tar -cf artifacts/install.tar install;
fi fi
- export CCACHE_DIR="$PWD/ccache"
- ccache --show-stats - ccache --show-stats
.build-windows: .build-windows:
@@ -201,7 +191,7 @@ debian-10-test:arm64:
- .build-linux - .build-linux
- .use-debian-10:amd64 - .use-debian-10:amd64
variables: variables:
SCONSFLAGS: "-j8" SCONSFLAGS: "-j4"
script: script:
- .gitlab-ci/scons-build.sh - .gitlab-ci/scons-build.sh
@@ -263,9 +253,6 @@ meson-main:
GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4" GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
EXTRA_OPTION: > EXTRA_OPTION: >
-D I-love-half-baked-turnips=true -D I-love-half-baked-turnips=true
NINJA_FLAGS: "-j4"
CCACHE_DIR: "$CI_PROJECT_DIR/ccache"
CCACHE_SIZE: "1500M"
needs: needs:
- debian-10:arm64 - debian-10:arm64
tags: tags:

View File

@@ -88,7 +88,7 @@ lava-container:arm64:
-D gallium-xa=false -D gallium-xa=false
-D gallium-nine=false -D gallium-nine=false
-D llvm=false -D llvm=false
- ninja -C mesa-build -j8 - ninja -C mesa-build -j4
- ninja -C mesa-build install - ninja -C mesa-build install
- find /artifacts/rootfs/mesa/lib -name \*.so -exec ${GCC_ARCH}-strip {} \; - find /artifacts/rootfs/mesa/lib -name \*.so -exec ${GCC_ARCH}-strip {} \;

View File

@@ -58,7 +58,7 @@ meson _build --native-file=native.file \
${EXTRA_OPTION} ${EXTRA_OPTION}
cd _build cd _build
meson configure meson configure
ninja ${NINJA_FLAGS} ninja -j4
LC_ALL=C.UTF-8 ninja test LC_ALL=C.UTF-8 ninja test
ninja install ninja install
cd .. cd ..

View File

@@ -12,6 +12,6 @@ cd /usr/local/shader-db
for driver in freedreno v3d; do for driver in freedreno v3d; do
env LD_PRELOAD=$LIBDIR/lib${driver}_noop_drm_shim.so \ env LD_PRELOAD=$LIBDIR/lib${driver}_noop_drm_shim.so \
./run -j 8 ./shaders \ ./run -j 4 ./shaders \
> $ARTIFACTSDIR/${driver}-shader-db.txt > $ARTIFACTSDIR/${driver}-shader-db.txt
done done