Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support ghc-9.10 #1976

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open

support ghc-9.10 #1976

wants to merge 28 commits into from

Conversation

larskuhtz
Copy link
Contributor

@larskuhtz larskuhtz commented Jun 30, 2024

  • update sbv-9.2 pin to latest version of vendored 9.2 fork
  • update pact pin to support ghc-9.10 pact#1367 (ghc-9.10 support for pact)
  • fix compiler warnings for GHC-9.10 and base >=4.20
    • The function fold' is exported in Prelude.
    • GHC warns about the use of head and tail via the new x-partial warning. In Pact this addressed
      through the addition of an internal library that provides "unsafe" versions of partial functions that do not
      trigger the warning. If we use partial functions in chainweb we can import them from there.
  • remove Numeric.Additive and Numeric.AffineSpace and import these from pact-time:numeric >=0.3.0.1
    pact-time now provides those modules through an internal public library.
  • update CI builds
    • update build matrix
    • use ubuntu-22.04 for docker images (uses libssl3)
    • update cabal-cache-action
    • fix cabal-cache store location for GHC >= 8.10.2
  • update flake.lock

Comment on lines -280 to +283
qtext = "SELECT blockheight, hash FROM BlockHistory \
\ ORDER BY blockheight ASC LIMIT 1"
qtext = "SELECT blockheight, hash FROM BlockHistory ORDER BY blockheight ASC LIMIT 1"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

String literals with gaps break CPP. It's probably generally a good idea to avoid them and wait for new multi-line string literals to become available in GHC (https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0569-multiline-strings.rst).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file (and also 'Numeric.AffineSpace') are now available in pact-time:numeric >=0.3.0.0.

@larskuhtz larskuhtz force-pushed the lars/ghc-9.10 branch 2 times, most recently from 8d96b23 to fef001a Compare July 2, 2024 13:19
@larskuhtz larskuhtz marked this pull request as ready for review July 2, 2024 13:39
@larskuhtz larskuhtz force-pushed the lars/ghc-9.10 branch 5 times, most recently from 33bd712 to c6b6d19 Compare July 3, 2024 14:37
chessai
chessai previously approved these changes Jul 4, 2024
Comment on lines -137 to +166
"ghc": ["9.6.5", "9.8.1"],
"cabal": ["3.10"],
"ghc": ["9.6.5", "9.8.2", "9.10.1"],
"cabal": ["3.12"],
"os": ["ubuntu-20.04", "ubuntu-22.04"],
"use-freeze-file": ["false"]
"use-freeze-file": ["false"],
"include" : [
{
"ghc": "9.6.5",
"cabal": "3.12",
"os": "ubuntu-22.04",
"use-freeze-file": "true"
}
]
}
EOF
)"
else
MATRIX="$(jq -c '.' <<EOF
{
"ghc": ["9.6.5"],
"cabal": ["3.10"],
"os": ["ubuntu-20.04", "ubuntu-22.04"],
"use-freeze-file": ["true"]
"ghc": ["9.6.5", "9.8.2", "9.10.1"],
"cabal": ["3.12"],
"os": ["ubuntu-22.04"],
"use-freeze-file": ["false"],
"include" : [
{
"ghc": "9.6.5",
"cabal": "3.12",
"os": "ubuntu-22.04",
"use-freeze-file": "true"
}
]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first block here is specifically for scheduled builds, and the second is for the ones that happen on every PR. Right now we only do unfrozen builds on the schedule, and frozen builds on every PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But why? Build times are not affected by the number of builds. They are in parallel and dependencies are fully cached.

Why not give feedback early?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem with scheduled builds is that, as long as there is no process to check those regularly and respond to issues -- nobody will ever care to fix them.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with disabling the scheduled logic here and putting unfrozen builds into the matrix here.

.github/workflows/applications.yml Show resolved Hide resolved
.github/workflows/applications.yml Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants