From 20aa4bce5dc927536ea2c89cbc988df87b979baa Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Thu, 27 Mar 2025 15:18:58 +0200 Subject: [PATCH 1/3] Add GHC-9.6.7 --- .github/workflows/haskell-ci.yml | 4 ++-- cabal-install-parsers/cabal-install-parsers.cabal | 2 +- fixtures/all-versions.bash | 4 ++-- fixtures/all-versions.github | 7 ++++++- fixtures/doctest-version.bash | 4 ++-- fixtures/doctest-version.github | 7 ++++++- fixtures/doctest.bash | 4 ++-- fixtures/doctest.github | 7 ++++++- fixtures/enabled-jobs.bash | 4 ++-- fixtures/enabled-jobs.github | 7 ++++++- haskell-ci.cabal | 4 ++-- haskell-ci.sh | 2 +- src/HaskellCI/Compiler.hs | 2 +- 13 files changed, 39 insertions(+), 19 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 16cfeaba..5225d8f2 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -40,9 +40,9 @@ jobs: compilerVersion: 9.8.4 setup-method: ghcup allow-failure: false - - compiler: ghc-9.6.6 + - compiler: ghc-9.6.7 compilerKind: ghc - compilerVersion: 9.6.6 + compilerVersion: 9.6.7 setup-method: ghcup allow-failure: false - compiler: ghc-9.4.8 diff --git a/cabal-install-parsers/cabal-install-parsers.cabal b/cabal-install-parsers/cabal-install-parsers.cabal index c31cc47a..a17300cc 100644 --- a/cabal-install-parsers/cabal-install-parsers.cabal +++ b/cabal-install-parsers/cabal-install-parsers.cabal @@ -31,7 +31,7 @@ tested-with: || ==9.0.2 || ==9.2.8 || ==9.4.8 - || ==9.6.6 + || ==9.6.7 || ==9.8.4 || ==9.10.1 diff --git a/fixtures/all-versions.bash b/fixtures/all-versions.bash index 93084f3e..2f24f2ec 100644 --- a/fixtures/all-versions.bash +++ b/fixtures/all-versions.bash @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 #!/bin/bash # shellcheck disable=SC2086,SC2016,SC2046 # REGENDATA ["bash","all-versions.project"] @@ -21,7 +21,7 @@ fi CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE="" -CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" +CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.7 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" CFG_CABAL_UPDATE=false SCRIPT_NAME=$(basename "$0") diff --git a/fixtures/all-versions.github b/fixtures/all-versions.github index f489e101..4060e42c 100644 --- a/fixtures/all-versions.github +++ b/fixtures/all-versions.github @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 # This GitHub workflow config has been generated by a script via # # haskell-ci 'github' 'all-versions.project' @@ -63,6 +63,11 @@ jobs: compilerVersion: 9.8.1 setup-method: ghcup allow-failure: false + - compiler: ghc-9.6.7 + compilerKind: ghc + compilerVersion: 9.6.7 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.6.6 compilerKind: ghc compilerVersion: 9.6.6 diff --git a/fixtures/doctest-version.bash b/fixtures/doctest-version.bash index aff1cc03..bb335941 100644 --- a/fixtures/doctest-version.bash +++ b/fixtures/doctest-version.bash @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 #!/bin/bash # shellcheck disable=SC2086,SC2016,SC2046 # REGENDATA ["--doctest","--doctest-version=^>=0.20","bash","doctest-version.project"] @@ -21,7 +21,7 @@ fi CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE="" -CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" +CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.7 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" CFG_CABAL_UPDATE=false SCRIPT_NAME=$(basename "$0") diff --git a/fixtures/doctest-version.github b/fixtures/doctest-version.github index 8d4fc877..9386957d 100644 --- a/fixtures/doctest-version.github +++ b/fixtures/doctest-version.github @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 # This GitHub workflow config has been generated by a script via # # haskell-ci '--doctest' '--doctest-version=^>=0.20' 'github' 'doctest-version.project' @@ -63,6 +63,11 @@ jobs: compilerVersion: 9.8.1 setup-method: ghcup allow-failure: false + - compiler: ghc-9.6.7 + compilerKind: ghc + compilerVersion: 9.6.7 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.6.6 compilerKind: ghc compilerVersion: 9.6.6 diff --git a/fixtures/doctest.bash b/fixtures/doctest.bash index bb4fd933..bacb0ff3 100644 --- a/fixtures/doctest.bash +++ b/fixtures/doctest.bash @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 #!/bin/bash # shellcheck disable=SC2086,SC2016,SC2046 # REGENDATA ["--doctest","bash","doctest.project"] @@ -21,7 +21,7 @@ fi CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE="" -CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" +CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.7 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" CFG_CABAL_UPDATE=false SCRIPT_NAME=$(basename "$0") diff --git a/fixtures/doctest.github b/fixtures/doctest.github index fcc932d1..b987b6e8 100644 --- a/fixtures/doctest.github +++ b/fixtures/doctest.github @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 # This GitHub workflow config has been generated by a script via # # haskell-ci '--doctest' 'github' 'doctest.project' @@ -63,6 +63,11 @@ jobs: compilerVersion: 9.8.1 setup-method: ghcup allow-failure: false + - compiler: ghc-9.6.7 + compilerKind: ghc + compilerVersion: 9.6.7 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.6.6 compilerKind: ghc compilerVersion: 9.6.6 diff --git a/fixtures/enabled-jobs.bash b/fixtures/enabled-jobs.bash index e8a7448c..1c3b3c8d 100644 --- a/fixtures/enabled-jobs.bash +++ b/fixtures/enabled-jobs.bash @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 #!/bin/bash # shellcheck disable=SC2086,SC2016,SC2046 # REGENDATA ["--enabled-jobs=>=8","bash","enabled-jobs.project"] @@ -21,7 +21,7 @@ fi CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE="" -CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" +CFG_JOBS="9.12.2 9.12.1 9.10.1 9.8.4 9.8.3 9.8.2 9.8.1 9.6.7 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1" CFG_CABAL_UPDATE=false SCRIPT_NAME=$(basename "$0") diff --git a/fixtures/enabled-jobs.github b/fixtures/enabled-jobs.github index 5a281682..20b266b8 100644 --- a/fixtures/enabled-jobs.github +++ b/fixtures/enabled-jobs.github @@ -1,5 +1,5 @@ # SUCCESS -# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 +# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.6.7 9.8.1 9.8.2 9.8.3 9.8.4 9.10.1 9.12.1 9.12.2 ghcjs-8.4 # This GitHub workflow config has been generated by a script via # # haskell-ci '--enabled-jobs=>=8' 'github' 'enabled-jobs.project' @@ -63,6 +63,11 @@ jobs: compilerVersion: 9.8.1 setup-method: ghcup allow-failure: false + - compiler: ghc-9.6.7 + compilerKind: ghc + compilerVersion: 9.6.7 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.6.6 compilerKind: ghc compilerVersion: 9.6.6 diff --git a/haskell-ci.cabal b/haskell-ci.cabal index b0980b5f..32cee1a3 100644 --- a/haskell-ci.cabal +++ b/haskell-ci.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: haskell-ci -version: 0.19.20250315 +version: 0.19.20250327 synopsis: Haskell CI script generator description: Script generator (@haskell-ci@) for @@ -32,7 +32,7 @@ tested-with: || ==9.0.2 || ==9.2.8 || ==9.4.8 - || ==9.6.6 + || ==9.6.7 || ==9.8.4 || ==9.10.1 diff --git a/haskell-ci.sh b/haskell-ci.sh index e0b4b6cb..f6b32c57 100755 --- a/haskell-ci.sh +++ b/haskell-ci.sh @@ -19,7 +19,7 @@ fi CFG_CABAL_STORE_CACHE="" CFG_CABAL_REPO_CACHE="" -CFG_JOBS="9.10.1 9.8.4 9.6.6 9.4.8 9.2.8 9.0.2 8.10.7 8.8.4 8.6.5" +CFG_JOBS="9.10.1 9.8.4 9.6.7 9.4.8 9.2.8 9.0.2 8.10.7 8.8.4 8.6.5" CFG_CABAL_UPDATE=false SCRIPT_NAME=$(basename "$0") diff --git a/src/HaskellCI/Compiler.hs b/src/HaskellCI/Compiler.hs index d0f604f2..455843fc 100644 --- a/src/HaskellCI/Compiler.hs +++ b/src/HaskellCI/Compiler.hs @@ -142,7 +142,7 @@ knownGhcVersions = fmap mkVersion , [9,0,1], [9,0,2] , [9,2,1], [9,2,2], [9,2,3], [9,2,4], [9,2,5], [9,2,6], [9,2,7], [9,2,8] , [9,4,1], [9,4,2], [9,4,3], [9,4,4], [9,4,5], [9,4,6], [9,4,7], [9,4,8] - , [9,6,1], [9,6,2], [9,6,3], [9,6,4], [9,6,5], [9,6,6] + , [9,6,1], [9,6,2], [9,6,3], [9,6,4], [9,6,5], [9,6,6], [9,6,7] , [9,8,1], [9,8,2], [9,8,3], [9,8,4] , [9,10,1] , [9,12,1], [9,12,2] From fb228183a503b4f3cb3940beccff8636077ddcdf Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Thu, 27 Mar 2025 15:21:46 +0200 Subject: [PATCH 2/3] GHCup 0.1.50.1 --- .github/workflows/haskell-ci.yml | 2 +- fixtures/all-versions.github | 2 +- fixtures/copy-fields-all.github | 2 +- fixtures/copy-fields-none.github | 2 +- fixtures/copy-fields-some.github | 2 +- fixtures/doctest-version.github | 2 +- fixtures/doctest.github | 2 +- fixtures/empty-line.github | 2 +- fixtures/enabled-jobs.github | 2 +- fixtures/fail-versions.github | 2 +- fixtures/irc-channels.github | 2 +- fixtures/messy.github | 2 +- fixtures/psql.github | 2 +- fixtures/travis-patch.github | 2 +- src/HaskellCI/Config/History.hs | 2 ++ 15 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 5225d8f2..31740598 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -84,7 +84,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/all-versions.github b/fixtures/all-versions.github index 4060e42c..82eb8aea 100644 --- a/fixtures/all-versions.github +++ b/fixtures/all-versions.github @@ -317,7 +317,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/copy-fields-all.github b/fixtures/copy-fields-all.github index 3efdf138..977e1640 100644 --- a/fixtures/copy-fields-all.github +++ b/fixtures/copy-fields-all.github @@ -157,7 +157,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/copy-fields-none.github b/fixtures/copy-fields-none.github index 0b3fb9ad..28a67c25 100644 --- a/fixtures/copy-fields-none.github +++ b/fixtures/copy-fields-none.github @@ -157,7 +157,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/copy-fields-some.github b/fixtures/copy-fields-some.github index 40c48718..0af9a317 100644 --- a/fixtures/copy-fields-some.github +++ b/fixtures/copy-fields-some.github @@ -157,7 +157,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/doctest-version.github b/fixtures/doctest-version.github index 9386957d..9a19223b 100644 --- a/fixtures/doctest-version.github +++ b/fixtures/doctest-version.github @@ -317,7 +317,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/doctest.github b/fixtures/doctest.github index b987b6e8..c4cf8e39 100644 --- a/fixtures/doctest.github +++ b/fixtures/doctest.github @@ -317,7 +317,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/empty-line.github b/fixtures/empty-line.github index 87bd691b..db40c939 100644 --- a/fixtures/empty-line.github +++ b/fixtures/empty-line.github @@ -157,7 +157,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/enabled-jobs.github b/fixtures/enabled-jobs.github index 20b266b8..3481047a 100644 --- a/fixtures/enabled-jobs.github +++ b/fixtures/enabled-jobs.github @@ -317,7 +317,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/fail-versions.github b/fixtures/fail-versions.github index bca11ae9..2d0fd749 100644 --- a/fixtures/fail-versions.github +++ b/fixtures/fail-versions.github @@ -157,7 +157,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/irc-channels.github b/fixtures/irc-channels.github index 2e37cb70..b8f164fe 100644 --- a/fixtures/irc-channels.github +++ b/fixtures/irc-channels.github @@ -184,7 +184,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/messy.github b/fixtures/messy.github index 9472b60c..10382eee 100644 --- a/fixtures/messy.github +++ b/fixtures/messy.github @@ -158,7 +158,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/psql.github b/fixtures/psql.github index 2501d3e2..29753ba7 100644 --- a/fixtures/psql.github +++ b/fixtures/psql.github @@ -163,7 +163,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/fixtures/travis-patch.github b/fixtures/travis-patch.github index 8aa4d34b..6275e7dd 100644 --- a/fixtures/travis-patch.github +++ b/fixtures/travis-patch.github @@ -157,7 +157,7 @@ jobs: - name: Install GHCup run: | mkdir -p "$HOME/.ghcup/bin" - curl -sL https://downloads.haskell.org/ghcup/0.1.40.0/x86_64-linux-ghcup-0.1.40.0 > "$HOME/.ghcup/bin/ghcup" + curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - name: Install cabal-install run: | diff --git a/src/HaskellCI/Config/History.hs b/src/HaskellCI/Config/History.hs index fced33dc..bbdd18b7 100644 --- a/src/HaskellCI/Config/History.hs +++ b/src/HaskellCI/Config/History.hs @@ -74,6 +74,8 @@ configHistory = & field @"cfgCabalInstallVersion" ?~ C.mkVersion [3,12,1,0] , ver 0 19 20250315 := \cfg -> cfg & field @"cfgGhcupVersion" .~ C.mkVersion [0,1,40,0] + , ver 0 19 20250327 := \cfg -> cfg + & field @"cfgGhcupVersion" .~ C.mkVersion [0,1,50,1] ] where ver x y z = [x, y, z] From 7fddc855b1694baa328298a2e9362f398a38f986 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Thu, 27 Mar 2025 15:43:56 +0200 Subject: [PATCH 3/3] Add GHCup version translations --- src/HaskellCI/Ghcup.hs | 12 ++++++++++++ src/HaskellCI/GitHub.hs | 3 ++- src/HaskellCI/GitHub/Yaml.hs | 11 ++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/HaskellCI/Ghcup.hs b/src/HaskellCI/Ghcup.hs index 94f1e8e5..57383852 100644 --- a/src/HaskellCI/Ghcup.hs +++ b/src/HaskellCI/Ghcup.hs @@ -6,3 +6,15 @@ import qualified Distribution.Version as C initialGhcupVersion :: Version initialGhcupVersion = C.mkVersion [0,1,20,0] + +-- https://github.com/haskell/cabal/issues/10836#issuecomment-2757855218 +-- if you interface with GHCup, you SHOULD be able to deal with non-PVP versions. +-- +-- Perfectly, we'd have these mappings configurable; +-- but for now they are hardcoded. +-- +translateGhcVersion :: Version -> String +translateGhcVersion = prettyShow + +translateCabalVersion :: Version -> String +translateCabalVersion = prettyShow diff --git a/src/HaskellCI/GitHub.hs b/src/HaskellCI/GitHub.hs index d67aef74..d34ad8f1 100644 --- a/src/HaskellCI/GitHub.hs +++ b/src/HaskellCI/GitHub.hs @@ -40,6 +40,7 @@ import HaskellCI.Config.Jobs import HaskellCI.Config.PackageScope import HaskellCI.Config.Ubuntu import HaskellCI.Config.Validity +import HaskellCI.Ghcup import HaskellCI.GitConfig import HaskellCI.GitHub.Yaml import HaskellCI.HeadHackage @@ -561,7 +562,7 @@ makeGitHub _argv config@Config {..} gitconfig prj jobs@JobVersions {..} = do mainJobName = "linux" ubuntuVer = showUbuntu cfgUbuntu - cabalFullVer = dispCabalVersion cfgCabalInstallVersion + cabalFullVer = maybe "head" translateCabalVersion cfgCabalInstallVersion Auxiliary {..} = auxiliary config prj jobs diff --git a/src/HaskellCI/GitHub/Yaml.hs b/src/HaskellCI/GitHub/Yaml.hs index 433ca7f9..adb4a145 100644 --- a/src/HaskellCI/GitHub/Yaml.hs +++ b/src/HaskellCI/GitHub/Yaml.hs @@ -8,6 +8,7 @@ import HaskellCI.Prelude import qualified Data.Map.Strict as M import HaskellCI.Compiler +import HaskellCI.Ghcup import HaskellCI.List import HaskellCI.SetupMethod import HaskellCI.Sh @@ -129,12 +130,20 @@ instance ToYaml GitHubJob where instance ToYaml GitHubMatrixEntry where toYaml GitHubMatrixEntry {..} = ykeyValuesFilt [] - [ "compiler" ~> fromString (dispGhcVersion ghmeCompiler) + [ "compiler" ~> fromString compiler , "compilerKind" ~> fromString (compilerKind ghmeCompiler) , "compilerVersion" ~> fromString (compilerVersion ghmeCompiler) , "setup-method" ~> toYaml ghmeSetupMethod , "allow-failure" ~> toYaml ghmeAllowFailure ] + where + compiler + | GHCUP <- ghmeSetupMethod + , GHC v <- ghmeCompiler + = "ghc-" ++ translateGhcVersion v + + | otherwise + = dispGhcVersion ghmeCompiler instance ToYaml GitHubStep where toYaml GitHubStep {..} = ykeyValuesFilt [] $ buildList $ do