Magnus pushed to branch wip/mangoiv/ci-stages at Glasgow Haskell Compiler / GHC

Commits:

7 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -68,8 +68,8 @@ stages:
    68 68
       - tool-lint      # Source linting of the tools
    
    69 69
       - quick-build    # A very quick smoke-test to weed out broken commits
    
    70 70
       - full-build     # Build all the things
    
    71
    -  - packaging      # Source distribution, etc.
    
    72 71
       - testing        # head.hackage correctness and compiler performance testing
    
    72
    +  - packaging      # Source distribution, etc.
    
    73 73
       - deploy         # push documentation
    
    74 74
     
    
    75 75
     # Note [The CI Story]
    

  • .gitlab/ci.sh
    ... ... @@ -685,7 +685,7 @@ function test_hadrian() {
    685 685
          tar -xf "$bindist_tar" -C "$dist_dir"
    
    686 686
        fi
    
    687 687
     
    
    688
    -  check_msys2_deps _build/stage1/bin/ghc --version
    
    688
    +  # check_msys2_deps _build/stage1/bin/ghc --version
    
    689 689
       check_release_build
    
    690 690
     
    
    691 691
       # GitLab's log viewer renders ANSI colors, but stdout here is not a tty,
    
    ... ... @@ -974,7 +974,9 @@ function run_hadrian() {
    974 974
       if [ -n "${VERBOSE:-}" ]; then args+=("-V"); fi
    
    975 975
       # Before running the compiler, unset variables gitlab env vars as these
    
    976 976
       # can destabilise the performance test (see #20341)
    
    977
    -  (unset $(compgen -v | grep CI_*);
    
    977
    +  (unset $(compgen -v | grep -E '^(CI_|FF_|GITLAB_)');
    
    978
    +    # dump the env before running hdarian itself.
    
    979
    +    start_section run_hadrian_env "env for runnning hadrian"; env; end_section run_hadrian_env
    
    978 980
         run "${HADRIAN_PATH:-hadrian/build-cabal}" \
    
    979 981
           --flavour="$BUILD_FLAVOUR" \
    
    980 982
           -j"$cores" \
    

  • .gitlab/common.sh
    ... ... @@ -47,7 +47,7 @@ info() { echo_color "${LT_BLUE}" "$1"; }
    47 47
     fail() { error "error: $1"; exit 1; }
    
    48 48
     
    
    49 49
     function run() {
    
    50
    -  info "Running $*..."
    
    50
    +  info "Running $*"
    
    51 51
       "$@" || ( error "$* failed"; return 1; )
    
    52 52
     }
    
    53 53
     

  • distrib/configure.ac.in
    ... ... @@ -103,7 +103,7 @@ AC_ARG_ENABLE(distro-toolchain,
    103 103
     AC_SUBST([EnableDistroToolchain])
    
    104 104
     
    
    105 105
     if test "$HostOS" = "mingw32" -a "$EnableDistroToolchain" = "NO"; then
    
    106
    -  FP_SETUP_WINDOWS_TOOLCHAIN([$hardtop/mingw/], [\$\$topdir/../mingw/])
    
    106
    +  FP_SETUP_WINDOWS_TOOLCHAIN([$hardtop/mingw/], [\$topdir/../mingw/])
    
    107 107
     fi
    
    108 108
     
    
    109 109
     
    

  • m4/subst_tooldir.m4
    ... ... @@ -41,5 +41,5 @@ dnl ghc-toolchain.
    41 41
     # See Note [How we configure the bundled windows toolchain]
    
    42 42
     AC_DEFUN([SUBST_TOOLDIR],
    
    43 43
     [
    
    44
    -    sed -i.bkp $1 's%'"$mingw_prefix"'%'"$mingw_install_prefix"'%g'
    
    44
    +    sed -i.bkp 's%'"$mingw_prefix"'%'"$mingw_install_prefix"'%g' $1
    
    45 45
     ])

  • testsuite/driver/runtests.py
    ... ... @@ -353,6 +353,7 @@ except Exception as e:
    353 353
         print('Failed to detect CPU features: ', e)
    
    354 354
     
    
    355 355
     sys.stdout.flush()
    
    356
    +sys.stderr.flush()
    
    356 357
     
    
    357 358
     if config.local:
    
    358 359
         tempdir = ''
    
    ... ... @@ -479,6 +480,9 @@ for name in config.only:
    479 480
             # .T file errors.
    
    480 481
             pass
    
    481 482
     
    
    483
    +sys.stdout.flush()
    
    484
    +sys.stderr.flush()
    
    485
    +
    
    482 486
     if config.list_broken:
    
    483 487
         print('')
    
    484 488
         print('Broken tests:')
    
    ... ... @@ -506,12 +510,17 @@ else:
    506 510
             # wait for parallel tests to finish
    
    507 511
             asyncio.run(run_parallelTests())
    
    508 512
     
    
    513
    +        sys.stdout.flush()
    
    514
    +        sys.stderr.flush()
    
    515
    +
    
    509 516
             # Run the following tests purely sequential
    
    510 517
             async def run_aloneTests():
    
    511 518
                 for oneTest in aloneTests:
    
    512 519
                     if stopping():
    
    513 520
                         break
    
    514 521
                     await oneTest(None)
    
    522
    +                sys.stdout.flush()
    
    523
    +                sys.stderr.flush()
    
    515 524
     
    
    516 525
             asyncio.run(run_aloneTests())
    
    517 526
     
    
    ... ... @@ -520,6 +529,7 @@ else:
    520 529
     
    
    521 530
         # flush everything before we continue
    
    522 531
         sys.stdout.flush()
    
    532
    +    sys.stderr.flush()
    
    523 533
     
    
    524 534
         # Dump metrics data.
    
    525 535
         print("\nPerformance Metrics (test environment: {}):\n".format(config.test_env))
    

  • testsuite/driver/testlib.py
    ... ... @@ -1699,8 +1699,8 @@ async def test_common_work(name: TestName, opts,
    1699 1699
     
    
    1700 1700
             # Skip tests which require hadrian dependencies if we are testing
    
    1701 1701
             # an out-of-tree compiler as Hadrian is unavailable. See #13897.
    
    1702
    -        if not config.in_tree_compiler and getTestOpts().hadrian_deps - {'test:ghc'}:
    
    1703
    -            do_ways = []
    
    1702
    +        # if not config.in_tree_compiler and getTestOpts().hadrian_deps - {'test:ghc'}:
    
    1703
    +        #     do_ways = []
    
    1704 1704
     
    
    1705 1705
             # Run the required tests...
    
    1706 1706
             for way in do_ways: