Magnus pushed to branch wip/mangoiv/ci-stages at Glasgow Haskell Compiler / GHC Commits: 3d9fdc75 by mangoiv at 2026-09-22T17:31:07+02:00 ci: reorder packaging and testing stages - - - - - 407b39ca by mangoiv at 2026-09-22T17:31:07+02:00 fix: out of tree compiler does not imply no hadrian being available - - - - - fbcf8e79 by mangoiv at 2026-09-22T17:31:07+02:00 fix: don't do msys deps check on stage1 compiler - - - - - c3fc8492 by mangoiv at 2026-09-22T17:31:07+02:00 configure: fix sed script and subst tooldir script Fixes #27672 - - - - - 697cdba1 by mangoiv at 2026-09-22T17:31:08+02:00 testsuite: flush more often when running testsuite - - - - - fb3ae926 by mangoiv at 2026-09-22T17:31:08+02:00 Allow metric decreases on windows Metric Decrease: LinkableUsage01 MultiLayerModulesTH_OneShot T10547 T12234 T12425 T13035 T13253-spj T13820 T18140 T18730 T18923 T9198 TcPlugin_RewritePerf mhu-perf - - - - - f8f3a17a by mangoiv at 2026-09-22T17:31:08+02:00 ci: stop using ellipses in testsuite output and output env before invoking hadrian - - - - - 26348a3b by mangoiv at 2026-09-22T17:31:08+02:00 ci: clean up env before running tests even more - - - - - 7 changed files: - .gitlab-ci.yml - .gitlab/ci.sh - .gitlab/common.sh - distrib/configure.ac.in - m4/subst_tooldir.m4 - testsuite/driver/runtests.py - testsuite/driver/testlib.py Changes: ===================================== .gitlab-ci.yml ===================================== @@ -68,8 +68,8 @@ stages: - tool-lint # Source linting of the tools - quick-build # A very quick smoke-test to weed out broken commits - full-build # Build all the things - - packaging # Source distribution, etc. - testing # head.hackage correctness and compiler performance testing + - packaging # Source distribution, etc. - deploy # push documentation # Note [The CI Story] ===================================== .gitlab/ci.sh ===================================== @@ -685,7 +685,7 @@ function test_hadrian() { tar -xf "$bindist_tar" -C "$dist_dir" fi - check_msys2_deps _build/stage1/bin/ghc --version + # check_msys2_deps _build/stage1/bin/ghc --version check_release_build # GitLab's log viewer renders ANSI colors, but stdout here is not a tty, @@ -974,7 +974,9 @@ function run_hadrian() { if [ -n "${VERBOSE:-}" ]; then args+=("-V"); fi # Before running the compiler, unset variables gitlab env vars as these # can destabilise the performance test (see #20341) - (unset $(compgen -v | grep CI_*); + (unset $(compgen -v | grep -E '^(CI_|FF_|GITLAB_)'); + # dump the env before running hdarian itself. + start_section run_hadrian_env "env for runnning hadrian"; env; end_section run_hadrian_env run "${HADRIAN_PATH:-hadrian/build-cabal}" \ --flavour="$BUILD_FLAVOUR" \ -j"$cores" \ ===================================== .gitlab/common.sh ===================================== @@ -47,7 +47,7 @@ info() { echo_color "${LT_BLUE}" "$1"; } fail() { error "error: $1"; exit 1; } function run() { - info "Running $*..." + info "Running $*" "$@" || ( error "$* failed"; return 1; ) } ===================================== distrib/configure.ac.in ===================================== @@ -103,7 +103,7 @@ AC_ARG_ENABLE(distro-toolchain, AC_SUBST([EnableDistroToolchain]) if test "$HostOS" = "mingw32" -a "$EnableDistroToolchain" = "NO"; then - FP_SETUP_WINDOWS_TOOLCHAIN([$hardtop/mingw/], [\$\$topdir/../mingw/]) + FP_SETUP_WINDOWS_TOOLCHAIN([$hardtop/mingw/], [\$topdir/../mingw/]) fi ===================================== m4/subst_tooldir.m4 ===================================== @@ -41,5 +41,5 @@ dnl ghc-toolchain. # See Note [How we configure the bundled windows toolchain] AC_DEFUN([SUBST_TOOLDIR], [ - sed -i.bkp $1 's%'"$mingw_prefix"'%'"$mingw_install_prefix"'%g' + sed -i.bkp 's%'"$mingw_prefix"'%'"$mingw_install_prefix"'%g' $1 ]) ===================================== testsuite/driver/runtests.py ===================================== @@ -353,6 +353,7 @@ except Exception as e: print('Failed to detect CPU features: ', e) sys.stdout.flush() +sys.stderr.flush() if config.local: tempdir = '' @@ -479,6 +480,9 @@ for name in config.only: # .T file errors. pass +sys.stdout.flush() +sys.stderr.flush() + if config.list_broken: print('') print('Broken tests:') @@ -506,12 +510,17 @@ else: # wait for parallel tests to finish asyncio.run(run_parallelTests()) + sys.stdout.flush() + sys.stderr.flush() + # Run the following tests purely sequential async def run_aloneTests(): for oneTest in aloneTests: if stopping(): break await oneTest(None) + sys.stdout.flush() + sys.stderr.flush() asyncio.run(run_aloneTests()) @@ -520,6 +529,7 @@ else: # flush everything before we continue sys.stdout.flush() + sys.stderr.flush() # Dump metrics data. 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, # Skip tests which require hadrian dependencies if we are testing # an out-of-tree compiler as Hadrian is unavailable. See #13897. - if not config.in_tree_compiler and getTestOpts().hadrian_deps - {'test:ghc'}: - do_ways = [] + # if not config.in_tree_compiler and getTestOpts().hadrian_deps - {'test:ghc'}: + # do_ways = [] # Run the required tests... for way in do_ways: View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7d90a6386e309e05eb17b9bd6d1e208... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7d90a6386e309e05eb17b9bd6d1e208... You're receiving this email because of your account on gitlab.haskell.org. Manage all notifications: https://gitlab.haskell.org/-/profile/notifications | Help: https://gitlab.haskell.org/help