[Git][ghc/ghc][wip/ghc-9.10] 5 commits: releng/uploads: .gz files are release artifacts

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Thu May 23 21:18:10 UTC 2024



Ben Gamari pushed to branch wip/ghc-9.10 at Glasgow Haskell Compiler / GHC


Commits:
0d2160de by Ben Gamari at 2024-05-13T11:54:20-04:00
releng/uploads: .gz files are release artifacts

- - - - -
2b1b78f8 by Ben Gamari at 2024-05-13T11:54:44-04:00
base: Propagate `error` CallStack to thrown exception

Previously `errorCallWithCallStackException` failed to propagate its
`CallStack` argument, which represents the call-chain of the preceding
`error` call, to the exception that it returned. Consequently, the
call-stack of `error` calls were quite useless.

Unfortunately, this is the second time that I have fixed this but it
seems the first must have been lost in rebasing.

Fixes #24807.

- - - - -
baf87258 by Ben Gamari at 2024-05-13T11:54:45-04:00
base: Fix changelog reference to setBacktraceMechanismState

- - - - -
8c1d32d0 by Ben Gamari at 2024-05-15T10:40:16-04:00
ghcup-metadata: update to reflect upstream preferences

- - - - -
fe448e13 by Ben Gamari at 2024-05-23T17:13:19-04:00
Bump haddock version

Somehow the submodule bump which performed the version increment of
`haddock` and friends in was lost in the pre-release shuffle.
Fix this.

Closes #24827.

- - - - -


8 changed files:

- .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
- .gitlab/rel_eng/upload.sh
- libraries/base/changelog.md
- + libraries/base/tests/T24807.hs
- + libraries/base/tests/T24807.stderr
- libraries/base/tests/all.T
- libraries/ghc-internal/src/GHC/Internal/Exception.hs
- utils/haddock


Changes:

=====================================
.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
=====================================
@@ -83,7 +83,7 @@ test_artifact = Artifact('source-tarball'
                         , None
                         , 'ghc-{version}/testsuite' )
 
-def debian(arch, n):
+def debian(n, arch='x86_64'):
     return linux_platform(arch, "{arch}-linux-deb{n}".format(arch=arch, n=n))
 
 def darwin(arch):
@@ -93,20 +93,20 @@ def darwin(arch):
 windowsArtifact = PlatformSpec ( 'x86_64-windows'
                                , 'ghc-{version}-x86_64-unknown-mingw32' )
 
-def centos(n):
-    return linux_platform("x86_64", "x86_64-linux-centos{n}".format(n=n))
+def centos(n, arch='x86_64'):
+    return linux_platform(arch, "x86_64-linux-centos{n}".format(n=n))
 
-def fedora(n):
-    return linux_platform("x86_64", "x86_64-linux-fedora{n}".format(n=n))
+def fedora(n, arch='x86_64'):
+    return linux_platform(arch, "x86_64-linux-fedora{n}".format(n=n))
 
-def alpine(n):
-    return linux_platform("x86_64", "x86_64-linux-alpine{n}".format(n=n))
+def alpine(n, arch='x86_64'):
+    return linux_platform(arch, "x86_64-linux-alpine{n}".format(n=n))
 
-def rocky(n):
-    return linux_platform("x86_64", "x86_64-linux-rocky{n}".format(n=n))
+def rocky(n, arch='x86_64'):
+    return linux_platform(arch, "x86_64-linux-rocky{n}".format(n=n))
 
-def ubuntu(n):
-    return linux_platform("x86_64", "x86_64-linux-ubuntu{n}".format(n=n))
+def ubuntu(n, arch='x86_64'):
+    return linux_platform(arch, "x86_64-linux-ubuntu{n}".format(n=n))
 
 def linux_platform(arch, opsys):
     return PlatformSpec( opsys, 'ghc-{version}-{arch}-unknown-linux'.format(version="{version}", arch=arch) )
@@ -186,21 +186,25 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
         eprint("\n=== " + platform.name + " " + ('=' * (75 - len(platform.name))))
         return mk_one_metadata(release_mode, version, job_map, mk_from_platform(release_mode, pipeline_type, platform))
 
+    # Here are all the bindists we can distribute
     ubuntu1804 = mk(ubuntu("18_04"))
     ubuntu2004 = mk(ubuntu("20_04"))
     rocky8 = mk(rocky("8"))
-    # Here are all the bindists we can distribute
     centos7 = mk(centos(7))
     fedora33 = mk(fedora(33))
     darwin_x86 = mk(darwin("x86_64"))
     darwin_arm64 = mk(darwin("aarch64"))
     windows = mk(windowsArtifact)
     alpine3_12 = mk(alpine("3_12"))
-    deb9 = mk(debian("x86_64", 9))
-    deb10 = mk(debian("x86_64", 10))
-    deb11 = mk(debian("x86_64", 11))
-    deb10_arm64 = mk(debian("aarch64", 10))
-    deb10_i386 = mk(debian("i386", 10))
+    alpine3_18 = mk(alpine("3_18"))
+    alpine3_18_arm64 = mk(alpine("3_18"), arch='aarch64')
+    deb9 = mk(debian(9, "x86_64"))
+    deb10 = mk(debian(10, "x86_64"))
+    deb11 = mk(debian(11, "x86_64"))
+    deb12 = mk(debian(12, "x86_64"))
+    deb10_arm64 = mk(debian(10, "aarch64"))
+    deb11_arm64 = mk(debian(11, "aarch64"))
+    deb10_i386 = mk(debian(10, "i386"))
 
     source = mk_one_metadata(release_mode, version, job_map, source_artifact)
     test = mk_one_metadata(release_mode, version, job_map, test_artifact)
@@ -209,25 +213,27 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
     # developers want.
 
     a64 = { "Linux_Debian": { "< 10": deb9
-                           , "(>= 10 && < 11)": deb10
-                           , ">= 11": deb11
+                           , "( >= 10 && < 11 )": deb10
+                           , "( >= 11 && < 12 )": deb11
+                           , ">= 11": deb12
                            , "unknown_versioning": deb11 }
           , "Linux_Ubuntu" : { "unknown_versioning": ubuntu2004
                              , "( >= 16 && < 18 )": deb9
-                             , "( >= 18 && < 19 )": ubuntu1804
-                             }
+                             , "( >= 18 && < 19 )": ubuntu1804 }
           , "Linux_Mint"   : { "< 20": ubuntu1804
-                             , ">= 20": ubuntu2004 }
+                             , ">= 20": ubuntu2004
+                             , "unknown_versioning": ubuntu2004 }
           , "Linux_CentOS"  : { "( >= 7 && < 8 )" : centos7
                               , "unknown_versioning" : centos7  }
           , "Linux_Fedora"  : { ">= 33": fedora33
                               , "unknown_versioning": centos7 }
           , "Linux_RedHat"  : { "unknown_versioning": centos7 }
-          #MP: Replace here with Rocky8 when that job is in the pipeline
           , "Linux_UnknownLinux" : { "unknown_versioning": rocky8 }
           , "Darwin" : { "unknown_versioning" : darwin_x86 }
           , "Windows" : { "unknown_versioning" :  windows }
-          , "Linux_Alpine" : { "unknown_versioning": alpine3_12 }
+          , "Linux_Alpine" : { "( >= 3.12 && < 3.18 )": alpine_3_12
+                             , ">= 3.18": alpine_3_18
+                             , "unknown_versioning": alpine3_12 }
 
           }
 
@@ -238,6 +244,11 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
           }
 
     arm64 = { "Linux_UnknownLinux": { "unknown_versioning": deb10_arm64 }
+            , "Linux_Alpine" : { "unknown_versioning": alpine3_18_arm64 }
+            , "Linux_Debian": { "( >= 10 && < 11 )": deb10_arm64
+                              , "( >= 11 && < 12 )": deb11_arm64
+                              , "unknown_versioning": deb10_arm64
+                              }
             , "Darwin": { "unknown_versioning": darwin_arm64 }
             }
 


=====================================
.gitlab/rel_eng/upload.sh
=====================================
@@ -77,6 +77,7 @@ fi
 function hash_files() {
     echo $(find -maxdepth 1 \
          -iname '*.xz' \
+      -o -iname '*.gz' \
       -o -iname '*.lz' \
       -o -iname '*.bz2' \
       -o -iname '*.zip' \


=====================================
libraries/base/changelog.md
=====================================
@@ -17,7 +17,7 @@
   * Exceptions now capture backtrace information via their `ExceptionContext`. GHC
     supports several mechanisms by which backtraces can be collected which can be
     individually enabled and disabled via
-    `GHC.Exception.Backtrace.setEnabledBacktraceMechanisms`.
+    `GHC.Exception.Backtrace.setBacktraceMechanismState`.
   * Update to [Unicode 15.1.0](https://www.unicode.org/versions/Unicode15.1.0/).
   * Fix `withFile`, `withFileBlocking`, and `withBinaryFile` to not incorrectly annotate exceptions raised in wrapped computation. ([CLC proposal #237](https://github.com/haskell/core-libraries-committee/issues/237))
   * Fix `fdIsNonBlocking` to always be `0` for regular files and block devices on unix, regardless of `O_NONBLOCK`


=====================================
libraries/base/tests/T24807.hs
=====================================
@@ -0,0 +1 @@
+main = error "hi"


=====================================
libraries/base/tests/T24807.stderr
=====================================
@@ -0,0 +1,8 @@
+T24807: hi
+CallStack (from HasCallStack):
+  error, called at libraries/base/tests/T24807.hs:1:8 in main:Main
+HasCallStack backtrace:
+  collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
+  toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:128:3 in ghc-internal:GHC.Internal.Exception
+
+


=====================================
libraries/base/tests/all.T
=====================================
@@ -322,3 +322,4 @@ test('T23697',
   , when(opsys('darwin'), skip)  # permission denied
   ], makefile_test, ['T23697'])
 test('stimesEndo', normal, compile_and_run, [''])
+test('T24807', normal, compile_and_run, [''])


=====================================
libraries/ghc-internal/src/GHC/Internal/Exception.hs
=====================================
@@ -120,12 +120,12 @@ errorCallException s = toException (ErrorCall s)
 
 errorCallWithCallStackException :: String -> CallStack -> SomeException
 errorCallWithCallStackException s stk = unsafeDupablePerformIO $ do
-  ccsStack <- currentCallStack
-  let
-    implicitParamCallStack = prettyCallStackLines stk
-    ccsCallStack = showCCSStack ccsStack
-    stack = intercalate "\n" $ implicitParamCallStack ++ ccsCallStack
-  toExceptionWithBacktrace (ErrorCallWithLocation s stack)
+    ccsStack <- currentCallStack
+    let implicitParamCallStack = prettyCallStackLines stk
+        ccsCallStack = showCCSStack ccsStack
+        stack = intercalate "\n" $ implicitParamCallStack ++ ccsCallStack
+    toExceptionWithBacktrace (ErrorCallWithLocation s stack)
+  where ?callStack = stk
 
 showCCSStack :: [String] -> [String]
 showCCSStack [] = []


=====================================
utils/haddock
=====================================
@@ -1 +1 @@
-Subproject commit 1432bcc943d41736eca491ecec4eb9a6304dab36
+Subproject commit bda1fa14a8dd03eebae4a1225b1a422e5d87906c



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6d779c0fab30c39475aef50d39064ed67ce839d7...fe448e1339665c698b342060b8dc94cd039f181f

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/6d779c0fab30c39475aef50d39064ed67ce839d7...fe448e1339665c698b342060b8dc94cd039f181f
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/20240523/8ab424e0/attachment-0001.html>


More information about the ghc-commits mailing list