Bryan R pushed to branch wip/chreekat/ci-timings at Glasgow Haskell Compiler / GHC

Commits:

5 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -367,7 +367,7 @@ lint-submods-branch:
    367 367
         - .gitlab/ci.sh setup
    
    368 368
       after_script:
    
    369 369
         - .gitlab/ci.sh save_cache
    
    370
    -    - cat ci-timings
    
    370
    +    - cat ci_timings.txt
    
    371 371
       variables:
    
    372 372
         GHC_FLAGS: -Werror
    
    373 373
       cache:
    
    ... ... @@ -419,7 +419,7 @@ hadrian-ghc-in-ghci:
    419 419
         - echo ":q" | HADRIAN_ARGS=-j$CORES hadrian/ghci -j$CORES | tail -n2 | grep "Ok,"
    
    420 420
       after_script:
    
    421 421
         - .gitlab/ci.sh save_cache
    
    422
    -    - cat ci-timings
    
    422
    +    - cat ci_timings.txt
    
    423 423
       cache:
    
    424 424
         key: hadrian-ghci-$CACHE_REV
    
    425 425
         paths:
    

  • .gitlab/ci.sh
    ... ... @@ -34,7 +34,11 @@ function time_it() {
    34 34
       local delta=$(expr $end - $start)
    
    35 35
     
    
    36 36
       echo "$name took $delta seconds"
    
    37
    -  printf "%15s | $delta" > ci-timings
    
    37
    +  if [[ ! -e ci_timings.txt ]]; then
    
    38
    +    echo "=== TIMINGS ===" > ci_timings.txt
    
    39
    +  fi
    
    40
    +
    
    41
    +  printf "%15s | $delta\n" $name >> ci_timings.txt
    
    38 42
       return $res
    
    39 43
     }
    
    40 44
     
    
    ... ... @@ -239,8 +243,6 @@ function cabal_update() {
    239 243
     
    
    240 244
     # Extract GHC toolchain
    
    241 245
     function setup() {
    
    242
    -  echo "=== TIMINGS ===" > ci-timings
    
    243
    -
    
    244 246
       if [ -d "$CABAL_CACHE" ]; then
    
    245 247
           info "Extracting cabal cache from $CABAL_CACHE to $CABAL_DIR..."
    
    246 248
           mkdir -p "$CABAL_DIR"
    
    ... ... @@ -279,7 +281,7 @@ function fetch_ghc() {
    279 281
               fail "neither GHC nor GHC_VERSION are not set"
    
    280 282
           fi
    
    281 283
     
    
    282
    -      start_section "fetch GHC"
    
    284
    +      start_section fetch-ghc "Fetch GHC"
    
    283 285
           url="https://downloads.haskell.org/~ghc/${GHC_VERSION}/ghc-${GHC_VERSION}-${boot_triple}.tar.xz"
    
    284 286
           info "Fetching GHC binary distribution from $url..."
    
    285 287
           curl "$url" > ghc.tar.xz || fail "failed to fetch GHC binary distribution"
    
    ... ... @@ -296,7 +298,7 @@ function fetch_ghc() {
    296 298
               ;;
    
    297 299
           esac
    
    298 300
           rm -Rf "ghc-${GHC_VERSION}" ghc.tar.xz
    
    299
    -      end_section "fetch GHC"
    
    301
    +      end_section fetch-ghc
    
    300 302
       fi
    
    301 303
     
    
    302 304
     }
    
    ... ... @@ -308,7 +310,7 @@ function fetch_cabal() {
    308 310
               fail "neither CABAL nor CABAL_INSTALL_VERSION are not set"
    
    309 311
           fi
    
    310 312
     
    
    311
    -      start_section "fetch cabal"
    
    313
    +      start_section fetch-cabal "Fetch Cabal"
    
    312 314
           case "$(uname)" in
    
    313 315
             # N.B. Windows uses zip whereas all others use .tar.xz
    
    314 316
             MSYS_*|MINGW*)
    
    ... ... @@ -341,7 +343,7 @@ function fetch_cabal() {
    341 343
               fi
    
    342 344
               ;;
    
    343 345
           esac
    
    344
    -      end_section "fetch cabal"
    
    346
    +      end_section fetch-cabal
    
    345 347
       fi
    
    346 348
     }
    
    347 349
     
    
    ... ... @@ -349,6 +351,7 @@ function fetch_cabal() {
    349 351
     # here. For Docker platforms this is done in the Docker image
    
    350 352
     # build.
    
    351 353
     function setup_toolchain() {
    
    354
    +  start_section setup-toolchain "Setup toolchain"
    
    352 355
       fetch_ghc
    
    353 356
       fetch_cabal
    
    354 357
       cabal_update
    
    ... ... @@ -371,10 +374,11 @@ function setup_toolchain() {
    371 374
     
    
    372 375
       info "Building alex..."
    
    373 376
       $cabal_install alex --constraint="alex>=$MIN_ALEX_VERSION"
    
    377
    +  end_section setup-toolchain
    
    374 378
     }
    
    375 379
     
    
    376 380
     function cleanup_submodules() {
    
    377
    -  start_section "clean submodules"
    
    381
    +  start_section clean-submodules "Clean submodules"
    
    378 382
       if [ -d .git ]; then
    
    379 383
         info "Cleaning submodules..."
    
    380 384
         # On Windows submodules can inexplicably get into funky states where git
    
    ... ... @@ -386,7 +390,7 @@ function cleanup_submodules() {
    386 390
       else
    
    387 391
         info "Not cleaning submodules, not in a git repo"
    
    388 392
       fi;
    
    389
    -  end_section "clean submodules"
    
    393
    +  end_section clean-submodules
    
    390 394
     }
    
    391 395
     
    
    392 396
     function configure() {
    
    ... ... @@ -486,6 +490,8 @@ function check_release_build() {
    486 490
     }
    
    487 491
     
    
    488 492
     function build_hadrian() {
    
    493
    +  start_section build-hadrian "Build via Hadrian"
    
    494
    +
    
    489 495
       if [ -z "${BIN_DIST_NAME:-}" ]; then
    
    490 496
         fail "BIN_DIST_NAME not set"
    
    491 497
       fi
    
    ... ... @@ -519,7 +525,7 @@ function build_hadrian() {
    519 525
               ;;
    
    520 526
         esac
    
    521 527
       fi
    
    522
    -
    
    528
    +  end_section build-hadrian
    
    523 529
     }
    
    524 530
     
    
    525 531
     # run's `make DESTDIR=$1 install` and then
    
    ... ... @@ -545,6 +551,7 @@ function make_install_destdir() {
    545 551
     
    
    546 552
     # install the binary distribution in directory $1 to $2.
    
    547 553
     function install_bindist() {
    
    554
    +  start_section install-bindist "Install bindist"
    
    548 555
       case "${CONFIGURE_WRAPPER:-}" in
    
    549 556
         emconfigure) source "$EMSDK/emsdk_env.sh" ;;
    
    550 557
         *) ;;
    
    ... ... @@ -576,9 +583,11 @@ function install_bindist() {
    576 583
           ;;
    
    577 584
       esac
    
    578 585
       popd
    
    586
    +  end_section install-bindist
    
    579 587
     }
    
    580 588
     
    
    581 589
     function test_hadrian() {
    
    590
    +  start_section test-hadrian "Test via Hadrian"
    
    582 591
       check_msys2_deps _build/stage1/bin/ghc --version
    
    583 592
       check_release_build
    
    584 593
     
    
    ... ... @@ -685,6 +694,7 @@ function test_hadrian() {
    685 694
         info "STAGE2_TEST=$?"
    
    686 695
     
    
    687 696
       fi
    
    697
    +  end_section test-hadrian
    
    688 698
     }
    
    689 699
     
    
    690 700
     function summarise_hi_files() {
    
    ... ... @@ -719,7 +729,7 @@ function cabal_abi_test() {
    719 729
       pushd $DIR
    
    720 730
       echo $PWD
    
    721 731
     
    
    722
    -  start_section "Cabal test: $OUT"
    
    732
    +  start_section cabal-abi-test "Cabal ABI test: $OUT"
    
    723 733
       mkdir -p "$OUT"
    
    724 734
       "$HC" \
    
    725 735
         -hidir tmp -odir tmp -fforce-recomp -haddock \
    
    ... ... @@ -729,7 +739,7 @@ function cabal_abi_test() {
    729 739
       summarise_hi_files
    
    730 740
       summarise_o_files
    
    731 741
       popd
    
    732
    -  end_section "Cabal test: $OUT"
    
    742
    +  end_section cabal-abi-test
    
    733 743
     }
    
    734 744
     
    
    735 745
     function cabal_test() {
    
    ... ... @@ -737,7 +747,7 @@ function cabal_test() {
    737 747
         fail "OUT not set"
    
    738 748
       fi
    
    739 749
     
    
    740
    -  start_section "Cabal test: $OUT"
    
    750
    +  start_section cabal-test "Cabal test: $OUT"
    
    741 751
       mkdir -p "$OUT"
    
    742 752
       run "$HC" \
    
    743 753
         -hidir tmp -odir tmp -fforce-recomp \
    
    ... ... @@ -746,7 +756,7 @@ function cabal_test() {
    746 756
         -ilibraries/Cabal/Cabal/src -XNoPolyKinds Distribution.Simple \
    
    747 757
         "$@" 2>&1 | tee $OUT/log
    
    748 758
       rm -Rf tmp
    
    749
    -  end_section "Cabal test: $OUT"
    
    759
    +  end_section cabal-test
    
    750 760
     }
    
    751 761
     
    
    752 762
     function run_perf_test() {
    

  • .gitlab/common.sh
    ... ... @@ -20,15 +20,18 @@ WHITE="1;37"
    20 20
     LT_GRAY="0;37"
    
    21 21
     
    
    22 22
     # GitLab Pipelines log section delimiters
    
    23
    -# https://gitlab.com/gitlab-org/gitlab-foss/issues/14664
    
    24
    -start_section() {
    
    25
    -  name="$1"
    
    26
    -  echo -e "section_start:$(date +%s):$name\015\033[0K"
    
    23
    +# https://docs.gitlab.com/ci/jobs/job_logs/#custom-collapsible-sections
    
    24
    +function start_section () {
    
    25
    +  local section_title="${1}"
    
    26
    +  local section_description="${2:-$section_title}"
    
    27
    +
    
    28
    +  echo -e "section_start:$(date +%s):${section_title}[collapsed=true]\r\e[0K${section_description}"
    
    27 29
     }
    
    28 30
     
    
    29
    -end_section() {
    
    30
    -  name="$1"
    
    31
    -  echo -e "section_end:$(date +%s):$name\015\033[0K"
    
    31
    +function end_section () {
    
    32
    +  local section_title="${1}"
    
    33
    +
    
    34
    +  echo -e "section_end:$(date +%s):${section_title}\r\e[0K"
    
    32 35
     }
    
    33 36
     
    
    34 37
     echo_color() {
    

  • .gitlab/generate-ci/gen_ci.hs
    ... ... @@ -853,7 +853,7 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} }
    853 853
           [ ".gitlab/ci.sh save_cache"
    
    854 854
           , ".gitlab/ci.sh save_test_output"
    
    855 855
           , ".gitlab/ci.sh clean"
    
    856
    -      , "cat ci_timings"
    
    856
    +      , "cat ci_timings.txt"
    
    857 857
           ]
    
    858 858
     
    
    859 859
         jobFlavour = mkJobFlavour buildConfig
    

  • .gitlab/jobs.yaml
    ... ... @@ -5,7 +5,7 @@
    5 5
           ".gitlab/ci.sh save_cache",
    
    6 6
           ".gitlab/ci.sh save_test_output",
    
    7 7
           ".gitlab/ci.sh clean",
    
    8
    -      "cat ci_timings"
    
    8
    +      "cat ci_timings.txt"
    
    9 9
         ],
    
    10 10
         "allow_failure": false,
    
    11 11
         "artifacts": {
    
    ... ... @@ -71,7 +71,7 @@
    71 71
           ".gitlab/ci.sh save_cache",
    
    72 72
           ".gitlab/ci.sh save_test_output",
    
    73 73
           ".gitlab/ci.sh clean",
    
    74
    -      "cat ci_timings"
    
    74
    +      "cat ci_timings.txt"
    
    75 75
         ],
    
    76 76
         "allow_failure": false,
    
    77 77
         "artifacts": {
    
    ... ... @@ -134,7 +134,7 @@
    134 134
           ".gitlab/ci.sh save_cache",
    
    135 135
           ".gitlab/ci.sh save_test_output",
    
    136 136
           ".gitlab/ci.sh clean",
    
    137
    -      "cat ci_timings"
    
    137
    +      "cat ci_timings.txt"
    
    138 138
         ],
    
    139 139
         "allow_failure": false,
    
    140 140
         "artifacts": {
    
    ... ... @@ -196,7 +196,7 @@
    196 196
           ".gitlab/ci.sh save_cache",
    
    197 197
           ".gitlab/ci.sh save_test_output",
    
    198 198
           ".gitlab/ci.sh clean",
    
    199
    -      "cat ci_timings"
    
    199
    +      "cat ci_timings.txt"
    
    200 200
         ],
    
    201 201
         "allow_failure": false,
    
    202 202
         "artifacts": {
    
    ... ... @@ -258,7 +258,7 @@
    258 258
           ".gitlab/ci.sh save_cache",
    
    259 259
           ".gitlab/ci.sh save_test_output",
    
    260 260
           ".gitlab/ci.sh clean",
    
    261
    -      "cat ci_timings"
    
    261
    +      "cat ci_timings.txt"
    
    262 262
         ],
    
    263 263
         "allow_failure": false,
    
    264 264
         "artifacts": {
    
    ... ... @@ -320,7 +320,7 @@
    320 320
           ".gitlab/ci.sh save_cache",
    
    321 321
           ".gitlab/ci.sh save_test_output",
    
    322 322
           ".gitlab/ci.sh clean",
    
    323
    -      "cat ci_timings"
    
    323
    +      "cat ci_timings.txt"
    
    324 324
         ],
    
    325 325
         "allow_failure": true,
    
    326 326
         "artifacts": {
    
    ... ... @@ -383,7 +383,7 @@
    383 383
           ".gitlab/ci.sh save_cache",
    
    384 384
           ".gitlab/ci.sh save_test_output",
    
    385 385
           ".gitlab/ci.sh clean",
    
    386
    -      "cat ci_timings"
    
    386
    +      "cat ci_timings.txt"
    
    387 387
         ],
    
    388 388
         "allow_failure": false,
    
    389 389
         "artifacts": {
    
    ... ... @@ -445,7 +445,7 @@
    445 445
           ".gitlab/ci.sh save_cache",
    
    446 446
           ".gitlab/ci.sh save_test_output",
    
    447 447
           ".gitlab/ci.sh clean",
    
    448
    -      "cat ci_timings"
    
    448
    +      "cat ci_timings.txt"
    
    449 449
         ],
    
    450 450
         "allow_failure": false,
    
    451 451
         "artifacts": {
    
    ... ... @@ -507,7 +507,7 @@
    507 507
           ".gitlab/ci.sh save_cache",
    
    508 508
           ".gitlab/ci.sh save_test_output",
    
    509 509
           ".gitlab/ci.sh clean",
    
    510
    -      "cat ci_timings"
    
    510
    +      "cat ci_timings.txt"
    
    511 511
         ],
    
    512 512
         "allow_failure": false,
    
    513 513
         "artifacts": {
    
    ... ... @@ -574,7 +574,7 @@
    574 574
           ".gitlab/ci.sh save_cache",
    
    575 575
           ".gitlab/ci.sh save_test_output",
    
    576 576
           ".gitlab/ci.sh clean",
    
    577
    -      "cat ci_timings"
    
    577
    +      "cat ci_timings.txt"
    
    578 578
         ],
    
    579 579
         "allow_failure": false,
    
    580 580
         "artifacts": {
    
    ... ... @@ -638,7 +638,7 @@
    638 638
           ".gitlab/ci.sh save_cache",
    
    639 639
           ".gitlab/ci.sh save_test_output",
    
    640 640
           ".gitlab/ci.sh clean",
    
    641
    -      "cat ci_timings"
    
    641
    +      "cat ci_timings.txt"
    
    642 642
         ],
    
    643 643
         "allow_failure": false,
    
    644 644
         "artifacts": {
    
    ... ... @@ -701,7 +701,7 @@
    701 701
           ".gitlab/ci.sh save_cache",
    
    702 702
           ".gitlab/ci.sh save_test_output",
    
    703 703
           ".gitlab/ci.sh clean",
    
    704
    -      "cat ci_timings"
    
    704
    +      "cat ci_timings.txt"
    
    705 705
         ],
    
    706 706
         "allow_failure": false,
    
    707 707
         "artifacts": {
    
    ... ... @@ -764,7 +764,7 @@
    764 764
           ".gitlab/ci.sh save_cache",
    
    765 765
           ".gitlab/ci.sh save_test_output",
    
    766 766
           ".gitlab/ci.sh clean",
    
    767
    -      "cat ci_timings"
    
    767
    +      "cat ci_timings.txt"
    
    768 768
         ],
    
    769 769
         "allow_failure": false,
    
    770 770
         "artifacts": {
    
    ... ... @@ -827,7 +827,7 @@
    827 827
           ".gitlab/ci.sh save_cache",
    
    828 828
           ".gitlab/ci.sh save_test_output",
    
    829 829
           ".gitlab/ci.sh clean",
    
    830
    -      "cat ci_timings"
    
    830
    +      "cat ci_timings.txt"
    
    831 831
         ],
    
    832 832
         "allow_failure": true,
    
    833 833
         "artifacts": {
    
    ... ... @@ -891,7 +891,7 @@
    891 891
           ".gitlab/ci.sh save_cache",
    
    892 892
           ".gitlab/ci.sh save_test_output",
    
    893 893
           ".gitlab/ci.sh clean",
    
    894
    -      "cat ci_timings"
    
    894
    +      "cat ci_timings.txt"
    
    895 895
         ],
    
    896 896
         "allow_failure": false,
    
    897 897
         "artifacts": {
    
    ... ... @@ -954,7 +954,7 @@
    954 954
           ".gitlab/ci.sh save_cache",
    
    955 955
           ".gitlab/ci.sh save_test_output",
    
    956 956
           ".gitlab/ci.sh clean",
    
    957
    -      "cat ci_timings"
    
    957
    +      "cat ci_timings.txt"
    
    958 958
         ],
    
    959 959
         "allow_failure": false,
    
    960 960
         "artifacts": {
    
    ... ... @@ -1017,7 +1017,7 @@
    1017 1017
           ".gitlab/ci.sh save_cache",
    
    1018 1018
           ".gitlab/ci.sh save_test_output",
    
    1019 1019
           ".gitlab/ci.sh clean",
    
    1020
    -      "cat ci_timings"
    
    1020
    +      "cat ci_timings.txt"
    
    1021 1021
         ],
    
    1022 1022
         "allow_failure": false,
    
    1023 1023
         "artifacts": {
    
    ... ... @@ -1087,7 +1087,7 @@
    1087 1087
           ".gitlab/ci.sh save_cache",
    
    1088 1088
           ".gitlab/ci.sh save_test_output",
    
    1089 1089
           ".gitlab/ci.sh clean",
    
    1090
    -      "cat ci_timings"
    
    1090
    +      "cat ci_timings.txt"
    
    1091 1091
         ],
    
    1092 1092
         "allow_failure": false,
    
    1093 1093
         "artifacts": {
    
    ... ... @@ -1153,7 +1153,7 @@
    1153 1153
           ".gitlab/ci.sh save_cache",
    
    1154 1154
           ".gitlab/ci.sh save_test_output",
    
    1155 1155
           ".gitlab/ci.sh clean",
    
    1156
    -      "cat ci_timings"
    
    1156
    +      "cat ci_timings.txt"
    
    1157 1157
         ],
    
    1158 1158
         "allow_failure": true,
    
    1159 1159
         "artifacts": {
    
    ... ... @@ -1217,7 +1217,7 @@
    1217 1217
           ".gitlab/ci.sh save_cache",
    
    1218 1218
           ".gitlab/ci.sh save_test_output",
    
    1219 1219
           ".gitlab/ci.sh clean",
    
    1220
    -      "cat ci_timings"
    
    1220
    +      "cat ci_timings.txt"
    
    1221 1221
         ],
    
    1222 1222
         "allow_failure": false,
    
    1223 1223
         "artifacts": {
    
    ... ... @@ -1281,7 +1281,7 @@
    1281 1281
           ".gitlab/ci.sh save_cache",
    
    1282 1282
           ".gitlab/ci.sh save_test_output",
    
    1283 1283
           ".gitlab/ci.sh clean",
    
    1284
    -      "cat ci_timings"
    
    1284
    +      "cat ci_timings.txt"
    
    1285 1285
         ],
    
    1286 1286
         "allow_failure": false,
    
    1287 1287
         "artifacts": {
    
    ... ... @@ -1345,7 +1345,7 @@
    1345 1345
           ".gitlab/ci.sh save_cache",
    
    1346 1346
           ".gitlab/ci.sh save_test_output",
    
    1347 1347
           ".gitlab/ci.sh clean",
    
    1348
    -      "cat ci_timings"
    
    1348
    +      "cat ci_timings.txt"
    
    1349 1349
         ],
    
    1350 1350
         "allow_failure": false,
    
    1351 1351
         "artifacts": {
    
    ... ... @@ -1409,7 +1409,7 @@
    1409 1409
           ".gitlab/ci.sh save_cache",
    
    1410 1410
           ".gitlab/ci.sh save_test_output",
    
    1411 1411
           ".gitlab/ci.sh clean",
    
    1412
    -      "cat ci_timings"
    
    1412
    +      "cat ci_timings.txt"
    
    1413 1413
         ],
    
    1414 1414
         "allow_failure": false,
    
    1415 1415
         "artifacts": {
    
    ... ... @@ -1474,7 +1474,7 @@
    1474 1474
           ".gitlab/ci.sh save_cache",
    
    1475 1475
           ".gitlab/ci.sh save_test_output",
    
    1476 1476
           ".gitlab/ci.sh clean",
    
    1477
    -      "cat ci_timings"
    
    1477
    +      "cat ci_timings.txt"
    
    1478 1478
         ],
    
    1479 1479
         "allow_failure": false,
    
    1480 1480
         "artifacts": {
    
    ... ... @@ -1539,7 +1539,7 @@
    1539 1539
           ".gitlab/ci.sh save_cache",
    
    1540 1540
           ".gitlab/ci.sh save_test_output",
    
    1541 1541
           ".gitlab/ci.sh clean",
    
    1542
    -      "cat ci_timings"
    
    1542
    +      "cat ci_timings.txt"
    
    1543 1543
         ],
    
    1544 1544
         "allow_failure": false,
    
    1545 1545
         "artifacts": {
    
    ... ... @@ -1604,7 +1604,7 @@
    1604 1604
           ".gitlab/ci.sh save_cache",
    
    1605 1605
           ".gitlab/ci.sh save_test_output",
    
    1606 1606
           ".gitlab/ci.sh clean",
    
    1607
    -      "cat ci_timings"
    
    1607
    +      "cat ci_timings.txt"
    
    1608 1608
         ],
    
    1609 1609
         "allow_failure": false,
    
    1610 1610
         "artifacts": {
    
    ... ... @@ -1667,7 +1667,7 @@
    1667 1667
           ".gitlab/ci.sh save_cache",
    
    1668 1668
           ".gitlab/ci.sh save_test_output",
    
    1669 1669
           ".gitlab/ci.sh clean",
    
    1670
    -      "cat ci_timings"
    
    1670
    +      "cat ci_timings.txt"
    
    1671 1671
         ],
    
    1672 1672
         "allow_failure": false,
    
    1673 1673
         "artifacts": {
    
    ... ... @@ -1730,7 +1730,7 @@
    1730 1730
           ".gitlab/ci.sh save_cache",
    
    1731 1731
           ".gitlab/ci.sh save_test_output",
    
    1732 1732
           ".gitlab/ci.sh clean",
    
    1733
    -      "cat ci_timings"
    
    1733
    +      "cat ci_timings.txt"
    
    1734 1734
         ],
    
    1735 1735
         "allow_failure": false,
    
    1736 1736
         "artifacts": {
    
    ... ... @@ -1795,7 +1795,7 @@
    1795 1795
           ".gitlab/ci.sh save_cache",
    
    1796 1796
           ".gitlab/ci.sh save_test_output",
    
    1797 1797
           ".gitlab/ci.sh clean",
    
    1798
    -      "cat ci_timings"
    
    1798
    +      "cat ci_timings.txt"
    
    1799 1799
         ],
    
    1800 1800
         "allow_failure": false,
    
    1801 1801
         "artifacts": {
    
    ... ... @@ -1861,7 +1861,7 @@
    1861 1861
           ".gitlab/ci.sh save_cache",
    
    1862 1862
           ".gitlab/ci.sh save_test_output",
    
    1863 1863
           ".gitlab/ci.sh clean",
    
    1864
    -      "cat ci_timings"
    
    1864
    +      "cat ci_timings.txt"
    
    1865 1865
         ],
    
    1866 1866
         "allow_failure": false,
    
    1867 1867
         "artifacts": {
    
    ... ... @@ -1924,7 +1924,7 @@
    1924 1924
           ".gitlab/ci.sh save_cache",
    
    1925 1925
           ".gitlab/ci.sh save_test_output",
    
    1926 1926
           ".gitlab/ci.sh clean",
    
    1927
    -      "cat ci_timings"
    
    1927
    +      "cat ci_timings.txt"
    
    1928 1928
         ],
    
    1929 1929
         "allow_failure": false,
    
    1930 1930
         "artifacts": {
    
    ... ... @@ -1987,7 +1987,7 @@
    1987 1987
           ".gitlab/ci.sh save_cache",
    
    1988 1988
           ".gitlab/ci.sh save_test_output",
    
    1989 1989
           ".gitlab/ci.sh clean",
    
    1990
    -      "cat ci_timings"
    
    1990
    +      "cat ci_timings.txt"
    
    1991 1991
         ],
    
    1992 1992
         "allow_failure": true,
    
    1993 1993
         "artifacts": {
    
    ... ... @@ -2050,7 +2050,7 @@
    2050 2050
           ".gitlab/ci.sh save_cache",
    
    2051 2051
           ".gitlab/ci.sh save_test_output",
    
    2052 2052
           ".gitlab/ci.sh clean",
    
    2053
    -      "cat ci_timings"
    
    2053
    +      "cat ci_timings.txt"
    
    2054 2054
         ],
    
    2055 2055
         "allow_failure": false,
    
    2056 2056
         "artifacts": {
    
    ... ... @@ -2114,7 +2114,7 @@
    2114 2114
           ".gitlab/ci.sh save_cache",
    
    2115 2115
           ".gitlab/ci.sh save_test_output",
    
    2116 2116
           ".gitlab/ci.sh clean",
    
    2117
    -      "cat ci_timings"
    
    2117
    +      "cat ci_timings.txt"
    
    2118 2118
         ],
    
    2119 2119
         "allow_failure": false,
    
    2120 2120
         "artifacts": {
    
    ... ... @@ -2177,7 +2177,7 @@
    2177 2177
           ".gitlab/ci.sh save_cache",
    
    2178 2178
           ".gitlab/ci.sh save_test_output",
    
    2179 2179
           ".gitlab/ci.sh clean",
    
    2180
    -      "cat ci_timings"
    
    2180
    +      "cat ci_timings.txt"
    
    2181 2181
         ],
    
    2182 2182
         "allow_failure": false,
    
    2183 2183
         "artifacts": {
    
    ... ... @@ -2242,7 +2242,7 @@
    2242 2242
           ".gitlab/ci.sh save_cache",
    
    2243 2243
           ".gitlab/ci.sh save_test_output",
    
    2244 2244
           ".gitlab/ci.sh clean",
    
    2245
    -      "cat ci_timings"
    
    2245
    +      "cat ci_timings.txt"
    
    2246 2246
         ],
    
    2247 2247
         "allow_failure": false,
    
    2248 2248
         "artifacts": {
    
    ... ... @@ -2305,7 +2305,7 @@
    2305 2305
           ".gitlab/ci.sh save_cache",
    
    2306 2306
           ".gitlab/ci.sh save_test_output",
    
    2307 2307
           ".gitlab/ci.sh clean",
    
    2308
    -      "cat ci_timings"
    
    2308
    +      "cat ci_timings.txt"
    
    2309 2309
         ],
    
    2310 2310
         "allow_failure": false,
    
    2311 2311
         "artifacts": {
    
    ... ... @@ -2368,7 +2368,7 @@
    2368 2368
           ".gitlab/ci.sh save_cache",
    
    2369 2369
           ".gitlab/ci.sh save_test_output",
    
    2370 2370
           ".gitlab/ci.sh clean",
    
    2371
    -      "cat ci_timings"
    
    2371
    +      "cat ci_timings.txt"
    
    2372 2372
         ],
    
    2373 2373
         "allow_failure": false,
    
    2374 2374
         "artifacts": {
    
    ... ... @@ -2431,7 +2431,7 @@
    2431 2431
           ".gitlab/ci.sh save_cache",
    
    2432 2432
           ".gitlab/ci.sh save_test_output",
    
    2433 2433
           ".gitlab/ci.sh clean",
    
    2434
    -      "cat ci_timings"
    
    2434
    +      "cat ci_timings.txt"
    
    2435 2435
         ],
    
    2436 2436
         "allow_failure": false,
    
    2437 2437
         "artifacts": {
    
    ... ... @@ -2494,7 +2494,7 @@
    2494 2494
           ".gitlab/ci.sh save_cache",
    
    2495 2495
           ".gitlab/ci.sh save_test_output",
    
    2496 2496
           ".gitlab/ci.sh clean",
    
    2497
    -      "cat ci_timings"
    
    2497
    +      "cat ci_timings.txt"
    
    2498 2498
         ],
    
    2499 2499
         "allow_failure": true,
    
    2500 2500
         "artifacts": {
    
    ... ... @@ -2559,7 +2559,7 @@
    2559 2559
           ".gitlab/ci.sh save_cache",
    
    2560 2560
           ".gitlab/ci.sh save_test_output",
    
    2561 2561
           ".gitlab/ci.sh clean",
    
    2562
    -      "cat ci_timings"
    
    2562
    +      "cat ci_timings.txt"
    
    2563 2563
         ],
    
    2564 2564
         "allow_failure": false,
    
    2565 2565
         "artifacts": {
    
    ... ... @@ -2622,7 +2622,7 @@
    2622 2622
           ".gitlab/ci.sh save_cache",
    
    2623 2623
           ".gitlab/ci.sh save_test_output",
    
    2624 2624
           ".gitlab/ci.sh clean",
    
    2625
    -      "cat ci_timings"
    
    2625
    +      "cat ci_timings.txt"
    
    2626 2626
         ],
    
    2627 2627
         "allow_failure": false,
    
    2628 2628
         "artifacts": {
    
    ... ... @@ -2685,7 +2685,7 @@
    2685 2685
           ".gitlab/ci.sh save_cache",
    
    2686 2686
           ".gitlab/ci.sh save_test_output",
    
    2687 2687
           ".gitlab/ci.sh clean",
    
    2688
    -      "cat ci_timings"
    
    2688
    +      "cat ci_timings.txt"
    
    2689 2689
         ],
    
    2690 2690
         "allow_failure": false,
    
    2691 2691
         "artifacts": {
    
    ... ... @@ -2750,7 +2750,7 @@
    2750 2750
           ".gitlab/ci.sh save_cache",
    
    2751 2751
           ".gitlab/ci.sh save_test_output",
    
    2752 2752
           ".gitlab/ci.sh clean",
    
    2753
    -      "cat ci_timings"
    
    2753
    +      "cat ci_timings.txt"
    
    2754 2754
         ],
    
    2755 2755
         "allow_failure": false,
    
    2756 2756
         "artifacts": {
    
    ... ... @@ -2816,7 +2816,7 @@
    2816 2816
           ".gitlab/ci.sh save_cache",
    
    2817 2817
           ".gitlab/ci.sh save_test_output",
    
    2818 2818
           ".gitlab/ci.sh clean",
    
    2819
    -      "cat ci_timings"
    
    2819
    +      "cat ci_timings.txt"
    
    2820 2820
         ],
    
    2821 2821
         "allow_failure": false,
    
    2822 2822
         "artifacts": {
    
    ... ... @@ -2881,7 +2881,7 @@
    2881 2881
           ".gitlab/ci.sh save_cache",
    
    2882 2882
           ".gitlab/ci.sh save_test_output",
    
    2883 2883
           ".gitlab/ci.sh clean",
    
    2884
    -      "cat ci_timings"
    
    2884
    +      "cat ci_timings.txt"
    
    2885 2885
         ],
    
    2886 2886
         "allow_failure": false,
    
    2887 2887
         "artifacts": {
    
    ... ... @@ -2944,7 +2944,7 @@
    2944 2944
           ".gitlab/ci.sh save_cache",
    
    2945 2945
           ".gitlab/ci.sh save_test_output",
    
    2946 2946
           ".gitlab/ci.sh clean",
    
    2947
    -      "cat ci_timings"
    
    2947
    +      "cat ci_timings.txt"
    
    2948 2948
         ],
    
    2949 2949
         "allow_failure": false,
    
    2950 2950
         "artifacts": {
    
    ... ... @@ -3007,7 +3007,7 @@
    3007 3007
           ".gitlab/ci.sh save_cache",
    
    3008 3008
           ".gitlab/ci.sh save_test_output",
    
    3009 3009
           ".gitlab/ci.sh clean",
    
    3010
    -      "cat ci_timings"
    
    3010
    +      "cat ci_timings.txt"
    
    3011 3011
         ],
    
    3012 3012
         "allow_failure": false,
    
    3013 3013
         "artifacts": {
    
    ... ... @@ -3070,7 +3070,7 @@
    3070 3070
           ".gitlab/ci.sh save_cache",
    
    3071 3071
           ".gitlab/ci.sh save_test_output",
    
    3072 3072
           ".gitlab/ci.sh clean",
    
    3073
    -      "cat ci_timings"
    
    3073
    +      "cat ci_timings.txt"
    
    3074 3074
         ],
    
    3075 3075
         "allow_failure": false,
    
    3076 3076
         "artifacts": {
    
    ... ... @@ -3133,7 +3133,7 @@
    3133 3133
           ".gitlab/ci.sh save_cache",
    
    3134 3134
           ".gitlab/ci.sh save_test_output",
    
    3135 3135
           ".gitlab/ci.sh clean",
    
    3136
    -      "cat ci_timings"
    
    3136
    +      "cat ci_timings.txt"
    
    3137 3137
         ],
    
    3138 3138
         "allow_failure": false,
    
    3139 3139
         "artifacts": {
    
    ... ... @@ -3196,7 +3196,7 @@
    3196 3196
           ".gitlab/ci.sh save_cache",
    
    3197 3197
           ".gitlab/ci.sh save_test_output",
    
    3198 3198
           ".gitlab/ci.sh clean",
    
    3199
    -      "cat ci_timings"
    
    3199
    +      "cat ci_timings.txt"
    
    3200 3200
         ],
    
    3201 3201
         "allow_failure": false,
    
    3202 3202
         "artifacts": {
    
    ... ... @@ -3385,7 +3385,7 @@
    3385 3385
           ".gitlab/ci.sh save_cache",
    
    3386 3386
           ".gitlab/ci.sh save_test_output",
    
    3387 3387
           ".gitlab/ci.sh clean",
    
    3388
    -      "cat ci_timings"
    
    3388
    +      "cat ci_timings.txt"
    
    3389 3389
         ],
    
    3390 3390
         "allow_failure": false,
    
    3391 3391
         "artifacts": {
    
    ... ... @@ -3453,7 +3453,7 @@
    3453 3453
           ".gitlab/ci.sh save_cache",
    
    3454 3454
           ".gitlab/ci.sh save_test_output",
    
    3455 3455
           ".gitlab/ci.sh clean",
    
    3456
    -      "cat ci_timings"
    
    3456
    +      "cat ci_timings.txt"
    
    3457 3457
         ],
    
    3458 3458
         "allow_failure": false,
    
    3459 3459
         "artifacts": {
    
    ... ... @@ -3518,7 +3518,7 @@
    3518 3518
           ".gitlab/ci.sh save_cache",
    
    3519 3519
           ".gitlab/ci.sh save_test_output",
    
    3520 3520
           ".gitlab/ci.sh clean",
    
    3521
    -      "cat ci_timings"
    
    3521
    +      "cat ci_timings.txt"
    
    3522 3522
         ],
    
    3523 3523
         "allow_failure": false,
    
    3524 3524
         "artifacts": {
    
    ... ... @@ -3582,7 +3582,7 @@
    3582 3582
           ".gitlab/ci.sh save_cache",
    
    3583 3583
           ".gitlab/ci.sh save_test_output",
    
    3584 3584
           ".gitlab/ci.sh clean",
    
    3585
    -      "cat ci_timings"
    
    3585
    +      "cat ci_timings.txt"
    
    3586 3586
         ],
    
    3587 3587
         "allow_failure": false,
    
    3588 3588
         "artifacts": {
    
    ... ... @@ -3646,7 +3646,7 @@
    3646 3646
           ".gitlab/ci.sh save_cache",
    
    3647 3647
           ".gitlab/ci.sh save_test_output",
    
    3648 3648
           ".gitlab/ci.sh clean",
    
    3649
    -      "cat ci_timings"
    
    3649
    +      "cat ci_timings.txt"
    
    3650 3650
         ],
    
    3651 3651
         "allow_failure": true,
    
    3652 3652
         "artifacts": {
    
    ... ... @@ -3711,7 +3711,7 @@
    3711 3711
           ".gitlab/ci.sh save_cache",
    
    3712 3712
           ".gitlab/ci.sh save_test_output",
    
    3713 3713
           ".gitlab/ci.sh clean",
    
    3714
    -      "cat ci_timings"
    
    3714
    +      "cat ci_timings.txt"
    
    3715 3715
         ],
    
    3716 3716
         "allow_failure": false,
    
    3717 3717
         "artifacts": {
    
    ... ... @@ -3775,7 +3775,7 @@
    3775 3775
           ".gitlab/ci.sh save_cache",
    
    3776 3776
           ".gitlab/ci.sh save_test_output",
    
    3777 3777
           ".gitlab/ci.sh clean",
    
    3778
    -      "cat ci_timings"
    
    3778
    +      "cat ci_timings.txt"
    
    3779 3779
         ],
    
    3780 3780
         "allow_failure": false,
    
    3781 3781
         "artifacts": {
    
    ... ... @@ -3839,7 +3839,7 @@
    3839 3839
           ".gitlab/ci.sh save_cache",
    
    3840 3840
           ".gitlab/ci.sh save_test_output",
    
    3841 3841
           ".gitlab/ci.sh clean",
    
    3842
    -      "cat ci_timings"
    
    3842
    +      "cat ci_timings.txt"
    
    3843 3843
         ],
    
    3844 3844
         "allow_failure": false,
    
    3845 3845
         "artifacts": {
    
    ... ... @@ -3910,7 +3910,7 @@
    3910 3910
           ".gitlab/ci.sh save_cache",
    
    3911 3911
           ".gitlab/ci.sh save_test_output",
    
    3912 3912
           ".gitlab/ci.sh clean",
    
    3913
    -      "cat ci_timings"
    
    3913
    +      "cat ci_timings.txt"
    
    3914 3914
         ],
    
    3915 3915
         "allow_failure": false,
    
    3916 3916
         "artifacts": {
    
    ... ... @@ -3977,7 +3977,7 @@
    3977 3977
           ".gitlab/ci.sh save_cache",
    
    3978 3978
           ".gitlab/ci.sh save_test_output",
    
    3979 3979
           ".gitlab/ci.sh clean",
    
    3980
    -      "cat ci_timings"
    
    3980
    +      "cat ci_timings.txt"
    
    3981 3981
         ],
    
    3982 3982
         "allow_failure": true,
    
    3983 3983
         "artifacts": {
    
    ... ... @@ -4042,7 +4042,7 @@
    4042 4042
           ".gitlab/ci.sh save_cache",
    
    4043 4043
           ".gitlab/ci.sh save_test_output",
    
    4044 4044
           ".gitlab/ci.sh clean",
    
    4045
    -      "cat ci_timings"
    
    4045
    +      "cat ci_timings.txt"
    
    4046 4046
         ],
    
    4047 4047
         "allow_failure": false,
    
    4048 4048
         "artifacts": {
    
    ... ... @@ -4107,7 +4107,7 @@
    4107 4107
           ".gitlab/ci.sh save_cache",
    
    4108 4108
           ".gitlab/ci.sh save_test_output",
    
    4109 4109
           ".gitlab/ci.sh clean",
    
    4110
    -      "cat ci_timings"
    
    4110
    +      "cat ci_timings.txt"
    
    4111 4111
         ],
    
    4112 4112
         "allow_failure": false,
    
    4113 4113
         "artifacts": {
    
    ... ... @@ -4172,7 +4172,7 @@
    4172 4172
           ".gitlab/ci.sh save_cache",
    
    4173 4173
           ".gitlab/ci.sh save_test_output",
    
    4174 4174
           ".gitlab/ci.sh clean",
    
    4175
    -      "cat ci_timings"
    
    4175
    +      "cat ci_timings.txt"
    
    4176 4176
         ],
    
    4177 4177
         "allow_failure": false,
    
    4178 4178
         "artifacts": {
    
    ... ... @@ -4237,7 +4237,7 @@
    4237 4237
           ".gitlab/ci.sh save_cache",
    
    4238 4238
           ".gitlab/ci.sh save_test_output",
    
    4239 4239
           ".gitlab/ci.sh clean",
    
    4240
    -      "cat ci_timings"
    
    4240
    +      "cat ci_timings.txt"
    
    4241 4241
         ],
    
    4242 4242
         "allow_failure": false,
    
    4243 4243
         "artifacts": {
    
    ... ... @@ -4301,7 +4301,7 @@
    4301 4301
           ".gitlab/ci.sh save_cache",
    
    4302 4302
           ".gitlab/ci.sh save_test_output",
    
    4303 4303
           ".gitlab/ci.sh clean",
    
    4304
    -      "cat ci_timings"
    
    4304
    +      "cat ci_timings.txt"
    
    4305 4305
         ],
    
    4306 4306
         "allow_failure": false,
    
    4307 4307
         "artifacts": {
    
    ... ... @@ -4365,7 +4365,7 @@
    4365 4365
           ".gitlab/ci.sh save_cache",
    
    4366 4366
           ".gitlab/ci.sh save_test_output",
    
    4367 4367
           ".gitlab/ci.sh clean",
    
    4368
    -      "cat ci_timings"
    
    4368
    +      "cat ci_timings.txt"
    
    4369 4369
         ],
    
    4370 4370
         "allow_failure": false,
    
    4371 4371
         "artifacts": {
    
    ... ... @@ -4429,7 +4429,7 @@
    4429 4429
           ".gitlab/ci.sh save_cache",
    
    4430 4430
           ".gitlab/ci.sh save_test_output",
    
    4431 4431
           ".gitlab/ci.sh clean",
    
    4432
    -      "cat ci_timings"
    
    4432
    +      "cat ci_timings.txt"
    
    4433 4433
         ],
    
    4434 4434
         "allow_failure": false,
    
    4435 4435
         "artifacts": {
    
    ... ... @@ -4493,7 +4493,7 @@
    4493 4493
           ".gitlab/ci.sh save_cache",
    
    4494 4494
           ".gitlab/ci.sh save_test_output",
    
    4495 4495
           ".gitlab/ci.sh clean",
    
    4496
    -      "cat ci_timings"
    
    4496
    +      "cat ci_timings.txt"
    
    4497 4497
         ],
    
    4498 4498
         "allow_failure": false,
    
    4499 4499
         "artifacts": {
    
    ... ... @@ -4557,7 +4557,7 @@
    4557 4557
           ".gitlab/ci.sh save_cache",
    
    4558 4558
           ".gitlab/ci.sh save_test_output",
    
    4559 4559
           ".gitlab/ci.sh clean",
    
    4560
    -      "cat ci_timings"
    
    4560
    +      "cat ci_timings.txt"
    
    4561 4561
         ],
    
    4562 4562
         "allow_failure": false,
    
    4563 4563
         "artifacts": {
    
    ... ... @@ -4623,7 +4623,7 @@
    4623 4623
           ".gitlab/ci.sh save_cache",
    
    4624 4624
           ".gitlab/ci.sh save_test_output",
    
    4625 4625
           ".gitlab/ci.sh clean",
    
    4626
    -      "cat ci_timings"
    
    4626
    +      "cat ci_timings.txt"
    
    4627 4627
         ],
    
    4628 4628
         "allow_failure": false,
    
    4629 4629
         "artifacts": {
    
    ... ... @@ -4689,7 +4689,7 @@
    4689 4689
           ".gitlab/ci.sh save_cache",
    
    4690 4690
           ".gitlab/ci.sh save_test_output",
    
    4691 4691
           ".gitlab/ci.sh clean",
    
    4692
    -      "cat ci_timings"
    
    4692
    +      "cat ci_timings.txt"
    
    4693 4693
         ],
    
    4694 4694
         "allow_failure": false,
    
    4695 4695
         "artifacts": {
    
    ... ... @@ -4756,7 +4756,7 @@
    4756 4756
           ".gitlab/ci.sh save_cache",
    
    4757 4757
           ".gitlab/ci.sh save_test_output",
    
    4758 4758
           ".gitlab/ci.sh clean",
    
    4759
    -      "cat ci_timings"
    
    4759
    +      "cat ci_timings.txt"
    
    4760 4760
         ],
    
    4761 4761
         "allow_failure": false,
    
    4762 4762
         "artifacts": {
    
    ... ... @@ -4820,7 +4820,7 @@
    4820 4820
           ".gitlab/ci.sh save_cache",
    
    4821 4821
           ".gitlab/ci.sh save_test_output",
    
    4822 4822
           ".gitlab/ci.sh clean",
    
    4823
    -      "cat ci_timings"
    
    4823
    +      "cat ci_timings.txt"
    
    4824 4824
         ],
    
    4825 4825
         "allow_failure": false,
    
    4826 4826
         "artifacts": {
    
    ... ... @@ -4884,7 +4884,7 @@
    4884 4884
           ".gitlab/ci.sh save_cache",
    
    4885 4885
           ".gitlab/ci.sh save_test_output",
    
    4886 4886
           ".gitlab/ci.sh clean",
    
    4887
    -      "cat ci_timings"
    
    4887
    +      "cat ci_timings.txt"
    
    4888 4888
         ],
    
    4889 4889
         "allow_failure": false,
    
    4890 4890
         "artifacts": {
    
    ... ... @@ -4948,7 +4948,7 @@
    4948 4948
           ".gitlab/ci.sh save_cache",
    
    4949 4949
           ".gitlab/ci.sh save_test_output",
    
    4950 4950
           ".gitlab/ci.sh clean",
    
    4951
    -      "cat ci_timings"
    
    4951
    +      "cat ci_timings.txt"
    
    4952 4952
         ],
    
    4953 4953
         "allow_failure": false,
    
    4954 4954
         "artifacts": {
    
    ... ... @@ -5012,7 +5012,7 @@
    5012 5012
           ".gitlab/ci.sh save_cache",
    
    5013 5013
           ".gitlab/ci.sh save_test_output",
    
    5014 5014
           ".gitlab/ci.sh clean",
    
    5015
    -      "cat ci_timings"
    
    5015
    +      "cat ci_timings.txt"
    
    5016 5016
         ],
    
    5017 5017
         "allow_failure": false,
    
    5018 5018
         "artifacts": {
    
    ... ... @@ -5076,7 +5076,7 @@
    5076 5076
           ".gitlab/ci.sh save_cache",
    
    5077 5077
           ".gitlab/ci.sh save_test_output",
    
    5078 5078
           ".gitlab/ci.sh clean",
    
    5079
    -      "cat ci_timings"
    
    5079
    +      "cat ci_timings.txt"
    
    5080 5080
         ],
    
    5081 5081
         "allow_failure": false,
    
    5082 5082
         "artifacts": {
    
    ... ... @@ -5268,7 +5268,7 @@
    5268 5268
           ".gitlab/ci.sh save_cache",
    
    5269 5269
           ".gitlab/ci.sh save_test_output",
    
    5270 5270
           ".gitlab/ci.sh clean",
    
    5271
    -      "cat ci_timings"
    
    5271
    +      "cat ci_timings.txt"
    
    5272 5272
         ],
    
    5273 5273
         "allow_failure": false,
    
    5274 5274
         "artifacts": {
    
    ... ... @@ -5337,7 +5337,7 @@
    5337 5337
           ".gitlab/ci.sh save_cache",
    
    5338 5338
           ".gitlab/ci.sh save_test_output",
    
    5339 5339
           ".gitlab/ci.sh clean",
    
    5340
    -      "cat ci_timings"
    
    5340
    +      "cat ci_timings.txt"
    
    5341 5341
         ],
    
    5342 5342
         "allow_failure": false,
    
    5343 5343
         "artifacts": {
    
    ... ... @@ -5402,7 +5402,7 @@
    5402 5402
           ".gitlab/ci.sh save_cache",
    
    5403 5403
           ".gitlab/ci.sh save_test_output",
    
    5404 5404
           ".gitlab/ci.sh clean",
    
    5405
    -      "cat ci_timings"
    
    5405
    +      "cat ci_timings.txt"
    
    5406 5406
         ],
    
    5407 5407
         "allow_failure": true,
    
    5408 5408
         "artifacts": {
    
    ... ... @@ -5465,7 +5465,7 @@
    5465 5465
           ".gitlab/ci.sh save_cache",
    
    5466 5466
           ".gitlab/ci.sh save_test_output",
    
    5467 5467
           ".gitlab/ci.sh clean",
    
    5468
    -      "cat ci_timings"
    
    5468
    +      "cat ci_timings.txt"
    
    5469 5469
         ],
    
    5470 5470
         "allow_failure": false,
    
    5471 5471
         "artifacts": {
    
    ... ... @@ -5528,7 +5528,7 @@
    5528 5528
           ".gitlab/ci.sh save_cache",
    
    5529 5529
           ".gitlab/ci.sh save_test_output",
    
    5530 5530
           ".gitlab/ci.sh clean",
    
    5531
    -      "cat ci_timings"
    
    5531
    +      "cat ci_timings.txt"
    
    5532 5532
         ],
    
    5533 5533
         "allow_failure": false,
    
    5534 5534
         "artifacts": {
    
    ... ... @@ -5591,7 +5591,7 @@
    5591 5591
           ".gitlab/ci.sh save_cache",
    
    5592 5592
           ".gitlab/ci.sh save_test_output",
    
    5593 5593
           ".gitlab/ci.sh clean",
    
    5594
    -      "cat ci_timings"
    
    5594
    +      "cat ci_timings.txt"
    
    5595 5595
         ],
    
    5596 5596
         "allow_failure": false,
    
    5597 5597
         "artifacts": {
    
    ... ... @@ -5654,7 +5654,7 @@
    5654 5654
           ".gitlab/ci.sh save_cache",
    
    5655 5655
           ".gitlab/ci.sh save_test_output",
    
    5656 5656
           ".gitlab/ci.sh clean",
    
    5657
    -      "cat ci_timings"
    
    5657
    +      "cat ci_timings.txt"
    
    5658 5658
         ],
    
    5659 5659
         "allow_failure": false,
    
    5660 5660
         "artifacts": {
    
    ... ... @@ -5718,7 +5718,7 @@
    5718 5718
           ".gitlab/ci.sh save_cache",
    
    5719 5719
           ".gitlab/ci.sh save_test_output",
    
    5720 5720
           ".gitlab/ci.sh clean",
    
    5721
    -      "cat ci_timings"
    
    5721
    +      "cat ci_timings.txt"
    
    5722 5722
         ],
    
    5723 5723
         "allow_failure": false,
    
    5724 5724
         "artifacts": {
    
    ... ... @@ -5783,7 +5783,7 @@
    5783 5783
           ".gitlab/ci.sh save_cache",
    
    5784 5784
           ".gitlab/ci.sh save_test_output",
    
    5785 5785
           ".gitlab/ci.sh clean",
    
    5786
    -      "cat ci_timings"
    
    5786
    +      "cat ci_timings.txt"
    
    5787 5787
         ],
    
    5788 5788
         "allow_failure": false,
    
    5789 5789
         "artifacts": {
    
    ... ... @@ -5848,7 +5848,7 @@
    5848 5848
           ".gitlab/ci.sh save_cache",
    
    5849 5849
           ".gitlab/ci.sh save_test_output",
    
    5850 5850
           ".gitlab/ci.sh clean",
    
    5851
    -      "cat ci_timings"
    
    5851
    +      "cat ci_timings.txt"
    
    5852 5852
         ],
    
    5853 5853
         "allow_failure": false,
    
    5854 5854
         "artifacts": {
    
    ... ... @@ -5910,7 +5910,7 @@
    5910 5910
           ".gitlab/ci.sh save_cache",
    
    5911 5911
           ".gitlab/ci.sh save_test_output",
    
    5912 5912
           ".gitlab/ci.sh clean",
    
    5913
    -      "cat ci_timings"
    
    5913
    +      "cat ci_timings.txt"
    
    5914 5914
         ],
    
    5915 5915
         "allow_failure": false,
    
    5916 5916
         "artifacts": {
    
    ... ... @@ -5972,7 +5972,7 @@
    5972 5972
           ".gitlab/ci.sh save_cache",
    
    5973 5973
           ".gitlab/ci.sh save_test_output",
    
    5974 5974
           ".gitlab/ci.sh clean",
    
    5975
    -      "cat ci_timings"
    
    5975
    +      "cat ci_timings.txt"
    
    5976 5976
         ],
    
    5977 5977
         "allow_failure": false,
    
    5978 5978
         "artifacts": {
    
    ... ... @@ -6036,7 +6036,7 @@
    6036 6036
           ".gitlab/ci.sh save_cache",
    
    6037 6037
           ".gitlab/ci.sh save_test_output",
    
    6038 6038
           ".gitlab/ci.sh clean",
    
    6039
    -      "cat ci_timings"
    
    6039
    +      "cat ci_timings.txt"
    
    6040 6040
         ],
    
    6041 6041
         "allow_failure": false,
    
    6042 6042
         "artifacts": {
    
    ... ... @@ -6101,7 +6101,7 @@
    6101 6101
           ".gitlab/ci.sh save_cache",
    
    6102 6102
           ".gitlab/ci.sh save_test_output",
    
    6103 6103
           ".gitlab/ci.sh clean",
    
    6104
    -      "cat ci_timings"
    
    6104
    +      "cat ci_timings.txt"
    
    6105 6105
         ],
    
    6106 6106
         "allow_failure": false,
    
    6107 6107
         "artifacts": {
    
    ... ... @@ -6163,7 +6163,7 @@
    6163 6163
           ".gitlab/ci.sh save_cache",
    
    6164 6164
           ".gitlab/ci.sh save_test_output",
    
    6165 6165
           ".gitlab/ci.sh clean",
    
    6166
    -      "cat ci_timings"
    
    6166
    +      "cat ci_timings.txt"
    
    6167 6167
         ],
    
    6168 6168
         "allow_failure": false,
    
    6169 6169
         "artifacts": {
    
    ... ... @@ -6225,7 +6225,7 @@
    6225 6225
           ".gitlab/ci.sh save_cache",
    
    6226 6226
           ".gitlab/ci.sh save_test_output",
    
    6227 6227
           ".gitlab/ci.sh clean",
    
    6228
    -      "cat ci_timings"
    
    6228
    +      "cat ci_timings.txt"
    
    6229 6229
         ],
    
    6230 6230
         "allow_failure": false,
    
    6231 6231
         "artifacts": {
    
    ... ... @@ -6288,7 +6288,7 @@
    6288 6288
           ".gitlab/ci.sh save_cache",
    
    6289 6289
           ".gitlab/ci.sh save_test_output",
    
    6290 6290
           ".gitlab/ci.sh clean",
    
    6291
    -      "cat ci_timings"
    
    6291
    +      "cat ci_timings.txt"
    
    6292 6292
         ],
    
    6293 6293
         "allow_failure": false,
    
    6294 6294
         "artifacts": {
    
    ... ... @@ -6351,7 +6351,7 @@
    6351 6351
           ".gitlab/ci.sh save_cache",
    
    6352 6352
           ".gitlab/ci.sh save_test_output",
    
    6353 6353
           ".gitlab/ci.sh clean",
    
    6354
    -      "cat ci_timings"
    
    6354
    +      "cat ci_timings.txt"
    
    6355 6355
         ],
    
    6356 6356
         "allow_failure": false,
    
    6357 6357
         "artifacts": {
    
    ... ... @@ -6413,7 +6413,7 @@
    6413 6413
           ".gitlab/ci.sh save_cache",
    
    6414 6414
           ".gitlab/ci.sh save_test_output",
    
    6415 6415
           ".gitlab/ci.sh clean",
    
    6416
    -      "cat ci_timings"
    
    6416
    +      "cat ci_timings.txt"
    
    6417 6417
         ],
    
    6418 6418
         "allow_failure": false,
    
    6419 6419
         "artifacts": {
    
    ... ... @@ -6477,7 +6477,7 @@
    6477 6477
           ".gitlab/ci.sh save_cache",
    
    6478 6478
           ".gitlab/ci.sh save_test_output",
    
    6479 6479
           ".gitlab/ci.sh clean",
    
    6480
    -      "cat ci_timings"
    
    6480
    +      "cat ci_timings.txt"
    
    6481 6481
         ],
    
    6482 6482
         "allow_failure": false,
    
    6483 6483
         "artifacts": {
    
    ... ... @@ -6539,7 +6539,7 @@
    6539 6539
           ".gitlab/ci.sh save_cache",
    
    6540 6540
           ".gitlab/ci.sh save_test_output",
    
    6541 6541
           ".gitlab/ci.sh clean",
    
    6542
    -      "cat ci_timings"
    
    6542
    +      "cat ci_timings.txt"
    
    6543 6543
         ],
    
    6544 6544
         "allow_failure": false,
    
    6545 6545
         "artifacts": {
    
    ... ... @@ -6601,7 +6601,7 @@
    6601 6601
           ".gitlab/ci.sh save_cache",
    
    6602 6602
           ".gitlab/ci.sh save_test_output",
    
    6603 6603
           ".gitlab/ci.sh clean",
    
    6604
    -      "cat ci_timings"
    
    6604
    +      "cat ci_timings.txt"
    
    6605 6605
         ],
    
    6606 6606
         "allow_failure": false,
    
    6607 6607
         "artifacts": {
    
    ... ... @@ -6663,7 +6663,7 @@
    6663 6663
           ".gitlab/ci.sh save_cache",
    
    6664 6664
           ".gitlab/ci.sh save_test_output",
    
    6665 6665
           ".gitlab/ci.sh clean",
    
    6666
    -      "cat ci_timings"
    
    6666
    +      "cat ci_timings.txt"
    
    6667 6667
         ],
    
    6668 6668
         "allow_failure": false,
    
    6669 6669
         "artifacts": {
    
    ... ... @@ -6725,7 +6725,7 @@
    6725 6725
           ".gitlab/ci.sh save_cache",
    
    6726 6726
           ".gitlab/ci.sh save_test_output",
    
    6727 6727
           ".gitlab/ci.sh clean",
    
    6728
    -      "cat ci_timings"
    
    6728
    +      "cat ci_timings.txt"
    
    6729 6729
         ],
    
    6730 6730
         "allow_failure": true,
    
    6731 6731
         "artifacts": {
    
    ... ... @@ -6790,7 +6790,7 @@
    6790 6790
           ".gitlab/ci.sh save_cache",
    
    6791 6791
           ".gitlab/ci.sh save_test_output",
    
    6792 6792
           ".gitlab/ci.sh clean",
    
    6793
    -      "cat ci_timings"
    
    6793
    +      "cat ci_timings.txt"
    
    6794 6794
         ],
    
    6795 6795
         "allow_failure": false,
    
    6796 6796
         "artifacts": {
    
    ... ... @@ -6852,7 +6852,7 @@
    6852 6852
           ".gitlab/ci.sh save_cache",
    
    6853 6853
           ".gitlab/ci.sh save_test_output",
    
    6854 6854
           ".gitlab/ci.sh clean",
    
    6855
    -      "cat ci_timings"
    
    6855
    +      "cat ci_timings.txt"
    
    6856 6856
         ],
    
    6857 6857
         "allow_failure": false,
    
    6858 6858
         "artifacts": {
    
    ... ... @@ -6914,7 +6914,7 @@
    6914 6914
           ".gitlab/ci.sh save_cache",
    
    6915 6915
           ".gitlab/ci.sh save_test_output",
    
    6916 6916
           ".gitlab/ci.sh clean",
    
    6917
    -      "cat ci_timings"
    
    6917
    +      "cat ci_timings.txt"
    
    6918 6918
         ],
    
    6919 6919
         "allow_failure": false,
    
    6920 6920
         "artifacts": {
    
    ... ... @@ -6978,7 +6978,7 @@
    6978 6978
           ".gitlab/ci.sh save_cache",
    
    6979 6979
           ".gitlab/ci.sh save_test_output",
    
    6980 6980
           ".gitlab/ci.sh clean",
    
    6981
    -      "cat ci_timings"
    
    6981
    +      "cat ci_timings.txt"
    
    6982 6982
         ],
    
    6983 6983
         "allow_failure": false,
    
    6984 6984
         "artifacts": {
    
    ... ... @@ -7043,7 +7043,7 @@
    7043 7043
           ".gitlab/ci.sh save_cache",
    
    7044 7044
           ".gitlab/ci.sh save_test_output",
    
    7045 7045
           ".gitlab/ci.sh clean",
    
    7046
    -      "cat ci_timings"
    
    7046
    +      "cat ci_timings.txt"
    
    7047 7047
         ],
    
    7048 7048
         "allow_failure": false,
    
    7049 7049
         "artifacts": {
    
    ... ... @@ -7107,7 +7107,7 @@
    7107 7107
           ".gitlab/ci.sh save_cache",
    
    7108 7108
           ".gitlab/ci.sh save_test_output",
    
    7109 7109
           ".gitlab/ci.sh clean",
    
    7110
    -      "cat ci_timings"
    
    7110
    +      "cat ci_timings.txt"
    
    7111 7111
         ],
    
    7112 7112
         "allow_failure": false,
    
    7113 7113
         "artifacts": {
    
    ... ... @@ -7169,7 +7169,7 @@
    7169 7169
           ".gitlab/ci.sh save_cache",
    
    7170 7170
           ".gitlab/ci.sh save_test_output",
    
    7171 7171
           ".gitlab/ci.sh clean",
    
    7172
    -      "cat ci_timings"
    
    7172
    +      "cat ci_timings.txt"
    
    7173 7173
         ],
    
    7174 7174
         "allow_failure": false,
    
    7175 7175
         "artifacts": {
    
    ... ... @@ -7231,7 +7231,7 @@
    7231 7231
           ".gitlab/ci.sh save_cache",
    
    7232 7232
           ".gitlab/ci.sh save_test_output",
    
    7233 7233
           ".gitlab/ci.sh clean",
    
    7234
    -      "cat ci_timings"
    
    7234
    +      "cat ci_timings.txt"
    
    7235 7235
         ],
    
    7236 7236
         "allow_failure": false,
    
    7237 7237
         "artifacts": {
    
    ... ... @@ -7293,7 +7293,7 @@
    7293 7293
           ".gitlab/ci.sh save_cache",
    
    7294 7294
           ".gitlab/ci.sh save_test_output",
    
    7295 7295
           ".gitlab/ci.sh clean",
    
    7296
    -      "cat ci_timings"
    
    7296
    +      "cat ci_timings.txt"
    
    7297 7297
         ],
    
    7298 7298
         "allow_failure": false,
    
    7299 7299
         "artifacts": {
    
    ... ... @@ -7355,7 +7355,7 @@
    7355 7355
           ".gitlab/ci.sh save_cache",
    
    7356 7356
           ".gitlab/ci.sh save_test_output",
    
    7357 7357
           ".gitlab/ci.sh clean",
    
    7358
    -      "cat ci_timings"
    
    7358
    +      "cat ci_timings.txt"
    
    7359 7359
         ],
    
    7360 7360
         "allow_failure": false,
    
    7361 7361
         "artifacts": {
    
    ... ... @@ -7417,7 +7417,7 @@
    7417 7417
           ".gitlab/ci.sh save_cache",
    
    7418 7418
           ".gitlab/ci.sh save_test_output",
    
    7419 7419
           ".gitlab/ci.sh clean",
    
    7420
    -      "cat ci_timings"
    
    7420
    +      "cat ci_timings.txt"
    
    7421 7421
         ],
    
    7422 7422
         "allow_failure": false,
    
    7423 7423
         "artifacts": {