diff options
author | doyougnu <jeffrey.young@iohk.io> | 2022-12-01 11:30:29 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-02-02 00:16:10 -0500 |
commit | 394b91ce859653231813fb9af77c26664063c1b6 (patch) | |
tree | 1312fcd9497a3dc95eefca88884f43abb3af4e61 /.gitlab | |
parent | 61ce5bf6b930f2f91471f36a26bcaddea279b515 (diff) | |
download | haskell-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.sh | 10 | ||||
-rwxr-xr-x | .gitlab/gen_ci.hs | 2 | ||||
-rw-r--r-- | .gitlab/jobs.yaml | 2 |
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" } |