summaryrefslogtreecommitdiff
path: root/.gitlab
diff options
context:
space:
mode:
authordoyougnu <jeffrey.young@iohk.io>2022-12-01 11:30:29 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-02-02 00:16:10 -0500
commit394b91ce859653231813fb9af77c26664063c1b6 (patch)
tree1312fcd9497a3dc95eefca88884f43abb3af4e61 /.gitlab
parent61ce5bf6b930f2f91471f36a26bcaddea279b515 (diff)
downloadhaskell-394b91ce859653231813fb9af77c26664063c1b6.tar.gz
CI: JavaScript backend runs testsuite
This MR runs the testsuite for the JS backend. Note that this is a temporary solution until !9515 is merged. Key point: The CI runs hadrian on the built cross compiler _but not_ on the bindist. Other Highlights: - stm submodule gets a bump to mark tests as broken - several tests are marked as broken or are fixed by adding more - conditions to their test runner instance. List of working commit messages: CI: test cross target _and_ emulator CI: JS: Try run testsuite with hadrian JS.CI: cleanup and simplify hadrian invocation use single bracket, print info JS CI: remove call to test_compiler from hadrian don't build haddock JS: mark more tests as broken Tracked in https://gitlab.haskell.org/ghc/ghc/-/issues/22576 JS testsuite: don't skip sum_mod test Its expected to fail, yet we skipped it which automatically makes it succeed leading to an unexpected success, JS testsuite: don't mark T12035j as skip leads to an unexpected pass JS testsuite: remove broken on T14075 leads to unexpected pass JS testsuite: mark more tests as broken JS testsuite: mark T11760 in base as broken JS testsuite: mark ManyUnbSums broken submodules: bump process and hpc for JS tests Both submodules has needed tests skipped or marked broken for th JS backend. This commit now adds these changes to GHC. See: HPC: https://gitlab.haskell.org/hpc/hpc/-/merge_requests/21 Process: https://github.com/haskell/process/pull/268 remove js_broken on now passing tests separate wasm and js backend ci test: T11760: add threaded, non-moving only_ways test: T10296a add req_c T13894: skip for JS backend tests: jspace, T22333: mark as js_broken(22573) test: T22513i mark as req_th stm submodule: mark stm055, T16707 broken for JS tests: js_broken(22374) on unpack_sums_6, T12010 dont run diff on JS CI, cleanup fixup: More CI cleanup fix: align text to master fix: align exceptions submodule to master CI: Bump DOCKER_REV Bump to ci-images commit that has a deb11 build with node. Required for !9552 testsuite: mark T22669 as js_skip See #22669 This test tests that .o-boot files aren't created when run in using the interpreter backend. Thus this is not relevant for the JS backend. testsuite: mark T22671 as broken on JS See #22835 base.testsuite: mark Chan002 fragile for JS see #22836 revert: submodule process bump bump stm submodule New hash includes skips for the JS backend. testsuite: mark RnPatternSynonymFail broken on JS Requires TH: - see !9779 - and #22261 compiler: GHC.hs ifdef import Utils.Panic.Plain
Diffstat (limited to '.gitlab')
-rwxr-xr-x.gitlab/ci.sh10
-rwxr-xr-x.gitlab/gen_ci.hs2
-rw-r--r--.gitlab/jobs.yaml2
3 files changed, 13 insertions, 1 deletions
diff --git a/.gitlab/ci.sh b/.gitlab/ci.sh
index 719f515485..6dd12768b1 100755
--- a/.gitlab/ci.sh
+++ b/.gitlab/ci.sh
@@ -601,6 +601,16 @@ function test_hadrian() {
if [[ "${CROSS_EMULATOR:-}" == "NOT_SET" ]]; then
info "Cannot test cross-compiled build without CROSS_EMULATOR being set."
return
+ # special case for JS backend
+ elif [ -n "${CROSS_TARGET:-}" ] && [ "${CROSS_EMULATOR:-}" == "js-emulator" ]; then
+ # run "hadrian test" directly, not using the bindist, even though it did get installed.
+ # This is a temporary solution, See !9515 for the status of hadrian support.
+ run_hadrian \
+ test \
+ --summary-junit=./junit.xml \
+ --test-have-intree-files \
+ --docs=none \
+ "runtest.opts+=${RUNTEST_ARGS:-}" || fail "cross-compiled hadrian main testsuite"
elif [ -n "${CROSS_TARGET:-}" ]; then
local instdir="$TOP/_build/install"
local test_compiler="$instdir/bin/${cross_prefix}ghc$exe"
diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs
index 229565f4b6..fa3d1f4192 100755
--- a/.gitlab/gen_ci.hs
+++ b/.gitlab/gen_ci.hs
@@ -882,7 +882,7 @@ job_groups =
, standardBuildsWithConfig Amd64 (Linux Alpine) (splitSectionsBroken static)
, disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine) staticNativeInt))
, validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing)
- , validateBuilds Amd64 (Linux Debian11) (crossConfig "js-unknown-ghcjs" NoEmulatorNeeded (Just "emconfigure")
+ , validateBuilds Amd64 (Linux Debian11) (crossConfig "js-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure")
)
{ bignumBackend = Native
}
diff --git a/.gitlab/jobs.yaml b/.gitlab/jobs.yaml
index 7267ec66e3..a2994fbcfb 100644
--- a/.gitlab/jobs.yaml
+++ b/.gitlab/jobs.yaml
@@ -1505,6 +1505,7 @@
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp",
"CONFIGURE_WRAPPER": "emconfigure",
+ "CROSS_EMULATOR": "js-emulator",
"CROSS_TARGET": "js-unknown-ghcjs",
"TEST_ENV": "x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate",
"XZ_OPT": "-9"
@@ -4048,6 +4049,7 @@
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--with-intree-gmp",
"CONFIGURE_WRAPPER": "emconfigure",
+ "CROSS_EMULATOR": "js-emulator",
"CROSS_TARGET": "js-unknown-ghcjs",
"TEST_ENV": "x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate"
}