Michel Dänzer
f5e6674f98
ci: Rename Debian based build jobs from meson-* to debian-*
...
meson has been the only build system in tree for some time, so the
meson- prefix was a bit meaningless.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11412 >
2021-07-09 10:24:41 +00:00
Michel Dänzer
df185ae030
ci: Add debian/ prefix to job names for Debian based docker images
...
And move the image build scripts to a subdirectory correspondingly.
Preparation for adding images based on other OSs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11412 >
2021-07-09 10:24:41 +00:00
Daniel Stone
a439db5844
ci/lava: Generate YAML from Python, not Jinja
...
This makes it much easier to use the common init scripts ... which we
also do here.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
d237f5ab56
ci/lava: Make kernel image type a normal argument
...
Just pass the actual parameter, rather than bare YAML.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
f02634d5d2
ci/lava: Drop bitrotten fastboot support
...
We don't have any fastboot devices in LAVA, and even if we did, the old
overlay path no longer applies.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
8f934e96e1
ci/lava: Use common stage-2 init
...
Now that our job-execution scripts look very similar for LAVA and
bare-metal, we can just tell LAVA to use the same stage-2 init we use
for bare-metal and delete a bunch of duplication.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
759dcb482d
ci/lava: Pass MinIO path on the command line
...
This brings us much closer with what bare-metal does, and also allows us
to upload job data to a local instance rather than the primary fd.o one.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
a1e734a874
ci: Unify {BARE_METAL,LAVA}_TEST_SCRIPT environment
...
Should also probably never have been different.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
0d6dd44818
ci: Unify {BM,LAVA}_START_XORG environment
...
Why were they ever different ... ?
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
5f32d2a438
ci: Consistent pass/fail result output
...
One less point of differentiation.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
0723692a21
ci/lava: Start using devcoredump captures
...
No reason not to.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
a941f9bf43
ci/bare-metal: Consistently set library paths
...
Everything needs them, so might as well set it up front.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
813c3324f0
ci: Be consistent about install path
...
Make both LAVA and bare-metal untar into $CI_PROJECT_DIR/install/, and
symlink /install/ to it during init.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
3c757aa44f
ci/lava: Rename environment variable script
...
Make it line up with bare-metal.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
0fcb53e8f4
ci/lava: Use HWCI_KERNEL_MODULES to load modules
...
One fewer difference to bare-metal.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
4e581b0202
ci/lava: Set PIGLIT_NO_WINDOW
...
This got lost in the move away from hardcoded environment variables, and
fixes the Iris EGL tests.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Daniel Stone
b035ea8e7d
ci/lava: Always upload Piglit replay images to MinIO
...
This should probably be set in the trace-job environments, but the
inheritance is a bit of a mess between all the systems at the moment,
and this matches previous hardcoded behaviour at least.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Acked-by: Martin Peres <martin.peres@mupuf.org >
Acked-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11337 >
2021-06-15 14:02:44 +02:00
Emma Anholt
c4a32927ab
ci: Disable Xorg's screensaver entirely.
...
The screensaver kicks in at 10 minutes and obscures the screen,
independent of dpms. This causes piglit tests to get flaky (swaps start
taking a whole second, and swapbuffersmsc-divisor-zero times out at
exactly the wrong time) and slow if the run takes longer than 10 minutes.
Hopefully with this we'll see some piglit glx flakes go away forever, it
did seem to for this test locally.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11334 >
2021-06-14 17:49:38 +00:00
Daniel Stone
df402eb83e
ci/lava: Avoid tee as it ruins exit status
...
I was today years old when I learned this about classic composable UNIX
tools:
~/mesa/mesa lava-submitter-overlay * % bash
[daniels@strictly mesa]$ set -e
[daniels@strictly mesa]$ false | tee
[daniels@strictly mesa]$ echo $?
0
Use tail rather than tee, so it doesn't hide our exit status.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
1788017e23
ci/lava: Dump and artifact YAML again
...
Now it's safe to do so without leaking JWTs, dump the generated YAML to
make it easier to reproduce things.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
bbf5f412ab
ci/lava: Disable stdout/stderr buffering
...
Frequency of writes is unlikely to be a performance bottleneck, and
given the number of steps in between execution and the user, less
buffering is gooder.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
82631c7182
ci/lava: Add explicit fatal-error handler
...
Truth is relative in 2021, and Python's duck-typing means truthiness
isn't what you think it is. Use an explicit fatal-error handler to make
sure we crash out hard on failure, rather than hoping sys.exit() behaves
like you think it does, because it doesn't.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
4082fe7ce2
ci/lava: Remove unused arguments
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d23c80eaee
ci/lava: Generate job name from lava-submit.sh
...
Just use the CI job name rather than open-coding the parameters.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d0e5203855
ci/lava: Use per-job rootfs overlay for environment
...
Trying to get arbitrary strings suitably quoted for shell, embedded in a
YAML file, processed by Python templating, is like seven bad ideas all
embedded into one big can of bees.
Reuse the same script we use for bare-metal to generate the environment,
tar that up into a per-job overlay which is added to the
inter-pipeline-reusable rootfs built by the container jobs and the
intra-pipeline-reusable overlay built by the build jobs.
@anholt wrote a chunk of this - replacing the $ENV_VARS GitLab CI
variable with a Python loop across the POSIX job environment - in
!11192 , but this still had YAML quoting nightmares, and was more
needless duplication between LAVA and bare-metal.
The diff is large and annoying, but is mostly a sed job to get
ENV_VARS="FOO=bar BAZ=quux" into FOO: bar\nBAZ: quux.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Co-authored-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
0cccf00436
ci: Use JOB_ARTIFACTS_BASE for Piglit fails
...
It's not Piglit-specific per se, it's just another per-job artifact
upload which needs to be made visible through MinIO.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d5d3dd7d97
ci: Add JOB_ARTIFACTS_BASE variable
...
Used for both LAVA (uploading results to MinIO because we don't yet have
non-ephemeral NFS storage) and Piglit (for the Tracie dashboard).
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
79a0220d28
ci: Make PIPELINE_ARTIFACTS_BASE a common variable
...
$minio/artifacts/$project/$pipeline/ is common between all our CI.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
0fd2320c94
ci/lava: Clean up variable naming, document them
...
Our variable names haven't aged very well. Rename them to make them more
clear and straightforward, especially when we bring in a third rootfs
element to download.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
561a1a9ad9
ci/lava: Wrap submission in a shell script
...
Just do what we're already doing but in a shell script, which will make
it less tedious to expand out later.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
d5262a933e
ci/lava: Cosmetic reordering of job init
...
Split our init up into: base system setup (filesystem mounts, network),
pulling the build artifacts, environment common to us and bare-metal,
bespoke environment, and finally running the tests.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
f3d69923a1
ci/lava: Pass JWT separately from environment variables
...
As the JWT is sensitive, we don't want to record or leak it anywhere.
Doing this lets us run --dump-yaml in normal execution so we can
artifact the result, as well as bringing us into line with bare-metal.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00
Daniel Stone
5793cefff8
ci/lava: Move LAVA files to lava/
...
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309 >
2021-06-11 12:13:00 +00:00