From 2c00d9048873f3d6d7e188dd1ef7f670a83a5c94 Mon Sep 17 00:00:00 2001 From: Matthew Pickering <matthewtpickering@gmail.com> Date: Wed, 13 Apr 2022 17:36:30 +0100 Subject: [PATCH] ci: Add test to check that release jobs have profiled libs --- .gitlab/ci.sh | 9 ++++++++- bindisttest/Makefile | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci.sh b/.gitlab/ci.sh index 269d76e63394..824699e9c7bb 100755 --- a/.gitlab/ci.sh +++ b/.gitlab/ci.sh @@ -492,7 +492,7 @@ function test_make() { check_release_build - run "$MAKE" test_bindist TEST_PREP=YES + run "$MAKE" test_bindist TEST_PREP=YES TEST_PROF=${RELEASE_JOB:-} (unset $(compgen -v | grep CI_*); run "$MAKE" V=0 VERBOSE=1 test \ THREADS="$cores" \ @@ -588,6 +588,13 @@ function test_hadrian() { fail "Test compiler has a different BIGNUM_BACKEND ($test_compiler_backend) thean requested ($BIGNUM_BACKEND)" fi + # If we are doing a release job, check the compiler can build a profiled executable + if [ "${RELEASE_JOB:-}" == "yes" ]; then + echo "main = print ()" > proftest.hs + run ${test_compiler} -prof proftest.hs || fail "hadrian profiled libs test" + rm proftest.hs + fi + run_hadrian \ test \ --summary-junit=./junit.xml \ diff --git a/bindisttest/Makefile b/bindisttest/Makefile index e49172c77d4a..3df55a916715 100644 --- a/bindisttest/Makefile +++ b/bindisttest/Makefile @@ -50,6 +50,12 @@ endif $(CONTEXT_DIFF) output expected_output # Without --no-user-package-db we might pick up random packages from ~/.ghc $(BIN_DIST_INST_DIR)/bin/ghc-pkg check --no-user-package-db +ifeq "$(TEST_PROF)" "yes" + $(BIN_DIST_INST_DIR)/bin/ghc --make -prof HelloWorld + ./HelloWorld > output + $(CONTEXT_DIFF) output expected_output +endif + clean distclean: "$(RM)" $(RM_OPTS_REC) $(BIN_DIST_INST_SUBDIR) -- GitLab