[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 2 commits: base: fix haddock syntax in GHC.Profiling

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Fri Jul 14 14:28:36 UTC 2023



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
246c8ba1 by Teo Camarasu at 2023-07-14T10:28:23-04:00
base: fix haddock syntax in GHC.Profiling

- - - - -
c54a0f0e by Matthew Pickering at 2023-07-14T10:28:24-04:00
Revert "CI: add JS release and debug builds, regen CI jobs"

This reverts commit 59c5fe1d4b624423b1c37891710f2757bb58d6af.

This commit added two duplicate jobs on all validate pipelines, so we
are reverting for now whilst we work out what the best way forward is.

Ticket #23618

- - - - -


5 changed files:

- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- libraries/base/GHC/Profiling.hs
- testsuite/config/ghc
- testsuite/driver/testlib.py


Changes:

=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -228,16 +228,6 @@ debug = vanilla { buildFlavour = SlowValidate
                 , withNuma = True
                 }
 
-jsDebug :: BuildConfig -> BuildConfig
-jsDebug c = c { bignumBackend = Native
-              -- make the job a debug job
-              , buildFlavour   = SlowValidate
-              , withAssertions = True
-              }
-
-jsPerf :: BuildConfig -> BuildConfig
-jsPerf c = c { bignumBackend = Native }
-
 zstdIpe :: BuildConfig
 zstdIpe = vanilla { withZstd = True }
 
@@ -935,8 +925,10 @@ job_groups =
      , disableValidate (standardBuildsWithConfig Amd64 (Linux Alpine) (splitSectionsBroken vanilla))
      , fullyStaticBrokenTests (disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine) staticNativeInt)))
      , validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing)
-     , standardBuildsWithConfig Amd64 (Linux Debian11) (jsPerf $ crossConfig "javascript-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure"))
-     , validateBuilds Amd64 (Linux Debian11) (jsDebug $ crossConfig "javascript-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure"))
+     , validateBuilds Amd64 (Linux Debian11) (crossConfig "javascript-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure")
+        )
+        { bignumBackend = Native
+        }
      , make_wasm_jobs wasm_build_config
      , modifyValidateJobs manual $
          make_wasm_jobs wasm_build_config {bignumBackend = Native}
@@ -1011,7 +1003,7 @@ platform_mapping = Map.map go $
     hasReleaseBuild (StandardTriple{}) = True
     hasReleaseBuild (ValidateOnly{}) = False
 
-data BindistInfo = BindistInfo { _bindistName :: String }
+data BindistInfo = BindistInfo { bindistName :: String }
 
 instance ToJSON BindistInfo where
   toJSON (BindistInfo n) = object [ "bindistName" A..= n ]
@@ -1026,7 +1018,6 @@ main = do
     ("metadata":as) -> write_result as platform_mapping
     _ -> error "gen_ci.hs <gitlab|metadata> [file.json]"
 
-write_result :: ToJSON a => [FilePath] -> a -> IO ()
 write_result as obj =
   (case as of
     [] -> B.putStrLn


=====================================
.gitlab/jobs.yaml
=====================================
@@ -1585,71 +1585,6 @@
       "XZ_OPT": "-9"
     }
   },
-  "nightly-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate": {
-    "after_script": [
-      ".gitlab/ci.sh save_cache",
-      ".gitlab/ci.sh save_test_output",
-      ".gitlab/ci.sh clean",
-      "cat ci_timings"
-    ],
-    "allow_failure": false,
-    "artifacts": {
-      "expire_in": "8 weeks",
-      "paths": [
-        "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate.tar.xz",
-        "junit.xml",
-        "unexpected-test-output.tar.gz"
-      ],
-      "reports": {
-        "junit": "junit.xml"
-      },
-      "when": "always"
-    },
-    "cache": {
-      "key": "x86_64-linux-deb11-$CACHE_REV",
-      "paths": [
-        "cabal-cache",
-        "toolchain"
-      ]
-    },
-    "dependencies": [],
-    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
-    "needs": [
-      {
-        "artifacts": false,
-        "job": "hadrian-ghc-in-ghci"
-      }
-    ],
-    "rules": [
-      {
-        "if": "($CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY) && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\")",
-        "when": "on_success"
-      }
-    ],
-    "script": [
-      "sudo chown ghc:ghc -R .",
-      ".gitlab/ci.sh setup",
-      ".gitlab/ci.sh configure",
-      ".gitlab/ci.sh build_hadrian",
-      ".gitlab/ci.sh test_hadrian"
-    ],
-    "stage": "full-build",
-    "tags": [
-      "x86_64-linux"
-    ],
-    "variables": {
-      "BIGNUM_BACKEND": "native",
-      "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate",
-      "BUILD_FLAVOUR": "slow-validate",
-      "CONFIGURE_ARGS": "--with-intree-gmp",
-      "CONFIGURE_WRAPPER": "emconfigure",
-      "CROSS_EMULATOR": "js-emulator",
-      "CROSS_TARGET": "javascript-unknown-ghcjs",
-      "RUNTEST_ARGS": "",
-      "TEST_ENV": "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate",
-      "XZ_OPT": "-9"
-    }
-  },
   "nightly-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate": {
     "after_script": [
       ".gitlab/ci.sh save_cache",
@@ -3060,73 +2995,6 @@
       "XZ_OPT": "-9"
     }
   },
-  "release-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-release": {
-    "after_script": [
-      ".gitlab/ci.sh save_cache",
-      ".gitlab/ci.sh save_test_output",
-      ".gitlab/ci.sh clean",
-      "cat ci_timings"
-    ],
-    "allow_failure": false,
-    "artifacts": {
-      "expire_in": "1 year",
-      "paths": [
-        "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-release.tar.xz",
-        "junit.xml",
-        "unexpected-test-output.tar.gz"
-      ],
-      "reports": {
-        "junit": "junit.xml"
-      },
-      "when": "always"
-    },
-    "cache": {
-      "key": "x86_64-linux-deb11-$CACHE_REV",
-      "paths": [
-        "cabal-cache",
-        "toolchain"
-      ]
-    },
-    "dependencies": [],
-    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
-    "needs": [
-      {
-        "artifacts": false,
-        "job": "hadrian-ghc-in-ghci"
-      }
-    ],
-    "rules": [
-      {
-        "if": "($CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/) && ($RELEASE_JOB == \"yes\") && ($NIGHTLY == null) && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\")",
-        "when": "on_success"
-      }
-    ],
-    "script": [
-      "sudo chown ghc:ghc -R .",
-      ".gitlab/ci.sh setup",
-      ".gitlab/ci.sh configure",
-      ".gitlab/ci.sh build_hadrian",
-      ".gitlab/ci.sh test_hadrian"
-    ],
-    "stage": "full-build",
-    "tags": [
-      "x86_64-linux"
-    ],
-    "variables": {
-      "BIGNUM_BACKEND": "native",
-      "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-release",
-      "BUILD_FLAVOUR": "release",
-      "CONFIGURE_ARGS": "--with-intree-gmp",
-      "CONFIGURE_WRAPPER": "emconfigure",
-      "CROSS_EMULATOR": "js-emulator",
-      "CROSS_TARGET": "javascript-unknown-ghcjs",
-      "HADRIAN_ARGS": "--hash-unit-ids",
-      "IGNORE_PERF_FAILURES": "all",
-      "RUNTEST_ARGS": "",
-      "TEST_ENV": "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-release",
-      "XZ_OPT": "-9"
-    }
-  },
   "release-x86_64-linux-deb11-release": {
     "after_script": [
       ".gitlab/ci.sh save_cache",
@@ -4777,70 +4645,6 @@
       "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate"
     }
   },
-  "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate": {
-    "after_script": [
-      ".gitlab/ci.sh save_cache",
-      ".gitlab/ci.sh save_test_output",
-      ".gitlab/ci.sh clean",
-      "cat ci_timings"
-    ],
-    "allow_failure": false,
-    "artifacts": {
-      "expire_in": "2 weeks",
-      "paths": [
-        "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate.tar.xz",
-        "junit.xml",
-        "unexpected-test-output.tar.gz"
-      ],
-      "reports": {
-        "junit": "junit.xml"
-      },
-      "when": "always"
-    },
-    "cache": {
-      "key": "x86_64-linux-deb11-$CACHE_REV",
-      "paths": [
-        "cabal-cache",
-        "toolchain"
-      ]
-    },
-    "dependencies": [],
-    "image": "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV",
-    "needs": [
-      {
-        "artifacts": false,
-        "job": "hadrian-ghc-in-ghci"
-      }
-    ],
-    "rules": [
-      {
-        "if": "($CI_MERGE_REQUEST_LABELS !~ /.*fast-ci.*/) && ($RELEASE_JOB != \"yes\") && ($NIGHTLY == null) && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\") && (\"true\" == \"true\")",
-        "when": "on_success"
-      }
-    ],
-    "script": [
-      "sudo chown ghc:ghc -R .",
-      ".gitlab/ci.sh setup",
-      ".gitlab/ci.sh configure",
-      ".gitlab/ci.sh build_hadrian",
-      ".gitlab/ci.sh test_hadrian"
-    ],
-    "stage": "full-build",
-    "tags": [
-      "x86_64-linux"
-    ],
-    "variables": {
-      "BIGNUM_BACKEND": "native",
-      "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate",
-      "BUILD_FLAVOUR": "slow-validate",
-      "CONFIGURE_ARGS": "--with-intree-gmp",
-      "CONFIGURE_WRAPPER": "emconfigure",
-      "CROSS_EMULATOR": "js-emulator",
-      "CROSS_TARGET": "javascript-unknown-ghcjs",
-      "RUNTEST_ARGS": "",
-      "TEST_ENV": "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-slow-validate"
-    }
-  },
   "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate": {
     "after_script": [
       ".gitlab/ci.sh save_cache",


=====================================
libraries/base/GHC/Profiling.hs
=====================================
@@ -27,6 +27,7 @@ foreign import ccall startProfTimer :: IO ()
 
 -- | Request a heap census on the next context switch. The census can be
 -- requested whether or not the heap profiling timer is running.
+--
 -- Note: This won't do anything unless you also specify a profiling mode on the
 -- command line using the normal RTS options.
 --
@@ -34,7 +35,8 @@ foreign import ccall startProfTimer :: IO ()
 foreign import ccall requestHeapCensus :: IO ()
 
 -- | Start heap profiling. This is called normally by the RTS on start-up,
--- but can be disabled using the rts flag `--no-automatic-heap-samples`
+-- but can be disabled using the rts flag @--no-automatic-heap-samples at .
+--
 -- Note: This won't do anything unless you also specify a profiling mode on the
 -- command line using the normal RTS options.
 --
@@ -42,6 +44,7 @@ foreign import ccall requestHeapCensus :: IO ()
 foreign import ccall startHeapProfTimer :: IO ()
 
 -- | Stop heap profiling.
+--
 -- Note: This won't do anything unless you also specify a profiling mode on the
 -- command line using the normal RTS options.
 --


=====================================
testsuite/config/ghc
=====================================
@@ -80,7 +80,6 @@ if not config.arch == "javascript":
     config.compile_ways.append('hpc')
     config.run_ways.append('hpc')
 
-# WASM
 if config.arch == "wasm32":
     config.have_process = False
     config.supports_dynamic_libs = False
@@ -270,12 +269,7 @@ def get_compiler_info():
 
     config.have_vanilla   = compiler_supports_way([])
     config.have_dynamic   = compiler_supports_way(['-dynamic'])
-
-    # JavaScript doesn't support profiling yet. See #22261
-    if config.arch == "javascript":
-        config.have_profiling = False
-    else:
-        config.have_profiling = compiler_supports_way(['-prof'])
+    config.have_profiling = compiler_supports_way(['-prof'])
 
     if config.have_profiling:
         config.compile_ways.append('profasm')


=====================================
testsuite/driver/testlib.py
=====================================
@@ -236,11 +236,6 @@ def req_profiling( name, opts ):
     '''Require the profiling libraries (add 'GhcLibWays += p' to mk/build.mk)'''
     if not config.have_profiling:
         opts.expect = 'fail'
-    # many profiling tests must be skipped for the JS backend. That is
-    # because they unexpectedly pass even though the JS backend does not
-    # support profiling yet. See #22251
-    if js_arch():
-        js_skip(name, opts)
 
     # JS backend doesn't support profiling yet
     if arch("js"):



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/114aee5f7fe1da8cdcc78757ead03aa6d9f78acd...c54a0f0e3d10a73597c037890f4e946052d44a9b

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/114aee5f7fe1da8cdcc78757ead03aa6d9f78acd...c54a0f0e3d10a73597c037890f4e946052d44a9b
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230714/2e1c9048/attachment-0001.html>


More information about the ghc-commits mailing list