Add unit:gcc:out-of-tree CI job

Also extract the workspace save-and-retrieve logic to YAML anchors.
73 jobs for !4740 with mnowak/add-unit-gcc-out-of-tree-ci-job in 18 minutes and 57 seconds (queued for 12 seconds)
latest detached
Status Job ID Name Coverage
  Autoconf
passed #1524366
amd64 linux
autoreconf

00:00:17

 
  Precheck
passed #1524368
amd64 linux
clang-format

00:00:16

passed #1524369
amd64 linux
coccinelle

00:03:39

passed #1524370
amd64 linux
danger

00:00:15

passed #1524367
amd64 linux
misc

00:00:18

passed #1524371
amd64 linux
tarball-create

00:01:42

 
  Build
passed #1524383
amd64 linux
clang:asan

00:02:25

passed #1524387
amd64 linux
clang:buster:amd64

00:01:08

passed #1524390
amd64 libvirt
clang:freebsd11:amd64

00:01:14

passed #1524391
amd64 libvirt
clang:freebsd12:amd64

00:01:09

passed #1524392
amd64 libvirt
clang:openbsd:amd64

00:02:18

passed #1524385
amd64 linux
clang:tsan

00:01:03

passed #1524372
amd64 linux
gcc:alpine3.13:amd64

00:00:56

passed #1524382
amd64 linux
gcc:asan

00:01:58

passed #1524376
amd64 linux
gcc:buster:amd64

00:00:54

passed #1524373
amd64 linux
gcc:centos7:amd64

00:01:01

passed #1524374
amd64 linux
gcc:centos8:amd64

00:01:03

passed #1524381
amd64 linux
gcc:focal:amd64

00:01:03

passed #1524386
amd64 linux
gcc:mutexatomics

00:00:52

passed #1524378
amd64 linux
gcc:out-of-tree

00:01:04

passed #1524377
amd64 linux
gcc:sid:amd64

00:01:06

passed #1524388
amd64 linux
gcc:softhsm2.4

00:01:00

passed #1524389
amd64 linux
gcc:softhsm2.6

00:01:10

passed #1524375
amd64 linux
gcc:stretch:amd64

00:01:11

passed #1524384
amd64 linux
gcc:tsan

00:01:14

passed #1524379
amd64 linux
gcc:tumbleweed:amd64

00:00:51

passed #1524380
amd64 linux
gcc:xenial:amd64

00:01:06

passed #1524393
amd64 windows
msvc:windows:amd64

00:00:46

 
  Unit
passed #1524404
amd64 linux
unit:clang:asan

00:01:32

passed #1524408
amd64 linux
unit:clang:buster:amd64

00:01:21

passed #1524411
amd64 libvirt
unit:clang:freebsd11:amd64

00:01:38

passed #1524412
amd64 libvirt
unit:clang:freebsd12:amd64

00:01:31

passed #1524413
amd64 libvirt
unit:clang:openbsd:amd64

00:03:13

passed #1524406
amd64 linux
unit:clang:tsan

00:03:24

passed #1524394
amd64 linux
unit:gcc:alpine3.13:amd64

00:01:14

passed #1524403
amd64 linux
unit:gcc:asan

00:01:27

passed #1524398
amd64 linux
unit:gcc:buster:amd64

00:02:12

passed #1524395
amd64 linux
unit:gcc:centos7:amd64

00:01:17

passed #1524396
amd64 linux
unit:gcc:centos8:amd64

00:01:18

passed #1524402
amd64 linux
unit:gcc:focal:amd64

00:01:22

passed #1524407
amd64 linux
unit:gcc:mutexatomics

00:01:14

passed #1524399
amd64 linux
unit:gcc:sid:amd64

00:01:11

passed #1524409
amd64 linux
unit:gcc:softhsm2.4

00:01:10

passed #1524410
amd64 linux
unit:gcc:softhsm2.6

00:01:16

passed #1524397
amd64 linux
unit:gcc:stretch:amd64

00:01:16

passed #1524405
amd64 linux
unit:gcc:tsan

00:03:37

passed #1524400
amd64 linux
unit:gcc:tumbleweed:amd64

00:01:10

passed #1524401
amd64 linux
unit:gcc:xenial:amd64

00:01:20

 
  System
passed #1524424
amd64 linux
system:clang:asan

00:14:26

passed #1524428
amd64 linux
system:clang:buster:amd64

00:11:44

passed #1524431
amd64 libvirt
system:clang:freebsd11:amd64

00:12:29

passed #1524432
amd64 libvirt
system:clang:freebsd12:amd64

00:12:15

failed #1524426
amd64 linux allowed to fail
system:clang:tsan

00:16:18

passed #1524414
amd64 linux
system:gcc:alpine3.13:amd64

00:12:59

passed #1524423
amd64 linux
system:gcc:asan

00:14:06

passed #1524418
amd64 linux
system:gcc:buster:amd64

00:13:35

passed #1524415
amd64 linux
system:gcc:centos7:amd64

00:12:40

passed #1524416
amd64 linux
system:gcc:centos8:amd64

00:12:56

passed #1524422
amd64 linux
system:gcc:focal:amd64

00:12:59

passed #1524427
amd64 linux
system:gcc:mutexatomics

00:12:21

passed #1524419
amd64 linux
system:gcc:sid:amd64

00:12:25

passed #1524429
amd64 linux
system:gcc:softhsm2.4

00:12:25

passed #1524430
amd64 linux
system:gcc:softhsm2.6

00:11:50

failed #1524417
amd64 linux
system:gcc:stretch:amd64

00:12:30

failed #1524425
amd64 linux allowed to fail
system:gcc:tsan

00:16:25

passed #1524420
amd64 linux
system:gcc:tumbleweed:amd64

00:12:33

passed #1524421
amd64 linux
system:gcc:xenial:amd64

00:11:17

 
  Docs
passed #1524433
amd64 linux
docs

00:00:48

 
  Postcheck
passed #1524437
amd64 linux
cppcheck

00:01:03

passed #1524434
amd64 linux
flake8

00:00:20

passed #1524438
amd64 linux
gcov

00:00:33

76.0%
passed #1524435
amd64 linux
pylint

00:00:23

passed #1524436
amd64 linux
scan-build

00:04:49

 
Name Stage Failure
failed
system:gcc:tsan System
FAIL pipelined (exit status: 1)

$ find bin -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
Uploading artifacts for failed job
Uploading artifacts...
untracked: found 1723 files

Uploading artifacts as "archive" to coordinator... ok
id=1524425 responseStatus=201 Created token=_invT-aw
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
system:clang:tsan System
FAIL pipelined (exit status: 1)

$ find bin -name 'tsan.*' -exec python3 util/parse_tsan.py {} \;
Uploading artifacts for failed job
Uploading artifacts...
untracked: found 1747 files

Uploading artifacts as "archive" to coordinator... ok
id=1524426 responseStatus=201 Created token=H1J7Yppa
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
system:gcc:stretch:amd64 System
SKIP eddsa (exit status: 77)

$ test -n "${OUT_OF_TREE_WORKSPACE}" && mv "${OUT_OF_TREE_WORKSPACE}" "${CI_PROJECT_DIR}"
Uploading artifacts for failed job
Uploading artifacts...
untracked: found 1632 files

Uploading artifacts as "archive" to coordinator... ok
id=1524417 responseStatus=201 Created token=61M6er1B
Cleaning up file based variables
ERROR: Job failed: exit code 1