diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,18 @@
+## 0.16.6 - 2023-07-10
+
+- Add `cabal-plan topo` to the constraint set steps
+
+## 0.16.5 - 2023-06-13
+
+- Use optparse-applicative-0.18.1.
+  When using older optparse-applicative with prettyprinter,
+  `--help` appeared to hang.
+- Update other dependencies as well.
+
+## 0.16.4 - 2023-06-09
+
+- Add GHC-9.2.8
+
 ## 0.16.3 - 2023-05-25
 
 - Add GHC-9.6.2
diff --git a/fixtures/all-versions.bash b/fixtures/all-versions.bash
--- a/fixtures/all-versions.bash
+++ b/fixtures/all-versions.bash
@@ -1,5 +1,5 @@
 # SUCCESS
-# *INFO* Generating Bash script for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.6.1 9.6.2 ghcjs-8.4
+# *INFO* Generating Bash script for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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.6.1 9.6.2 ghcjs-8.4
 #!/bin/bash
 # shellcheck disable=SC2086,SC2016,SC2046
 # REGENDATA ["bash","all-versions.project"]
@@ -21,7 +21,7 @@
 
 CFG_CABAL_STORE_CACHE=""
 CFG_CABAL_REPO_CACHE=""
-CFG_JOBS="9.6.2 9.6.1 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 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 7.10.3 7.10.2 7.10.1 7.8.4 7.8.3 7.8.2 7.8.1 7.6.3 7.6.2 7.6.1 7.4.2 7.4.1 7.2.2 7.2.1 7.0.4 7.0.3 7.0.2 7.0.1"
+CFG_JOBS="9.6.2 9.6.1 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 7.10.3 7.10.2 7.10.1 7.8.4 7.8.3 7.8.2 7.8.1 7.6.3 7.6.2 7.6.1 7.4.2 7.4.1 7.2.2 7.2.1 7.0.4 7.0.3 7.0.2 7.0.1"
 CFG_CABAL_UPDATE=false
 
 SCRIPT_NAME=$(basename "$0")
diff --git a/fixtures/all-versions.github b/fixtures/all-versions.github
--- a/fixtures/all-versions.github
+++ b/fixtures/all-versions.github
@@ -1,5 +1,5 @@
 # SUCCESS
-# *INFO* Generating GitHub config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.6.1 9.6.2 ghcjs-8.4
+# *INFO* Generating GitHub config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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.6.1 9.6.2 ghcjs-8.4
 # This GitHub workflow config has been generated by a script via
 #
 #   haskell-ci 'github' 'all-versions.project'
@@ -66,6 +66,11 @@
           - compiler: ghc-9.4.1
             compilerKind: ghc
             compilerVersion: 9.4.1
+            setup-method: ghcup
+            allow-failure: false
+          - compiler: ghc-9.2.8
+            compilerKind: ghc
+            compilerVersion: 9.2.8
             setup-method: ghcup
             allow-failure: false
           - compiler: ghc-9.2.7
diff --git a/fixtures/all-versions.travis b/fixtures/all-versions.travis
--- a/fixtures/all-versions.travis
+++ b/fixtures/all-versions.travis
@@ -1,5 +1,5 @@
 # SUCCESS
-# *INFO* Generating Travis-CI config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.6.1 9.6.2 ghcjs-8.4
+# *INFO* Generating Travis-CI config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 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.6.1 9.6.2 ghcjs-8.4
 # This Travis job script has been generated by a script via
 #
 #   haskell-ci 'travis' 'all-versions.project'
@@ -56,6 +56,9 @@
       os: linux
     - compiler: ghc-9.4.1
       addons: {"apt":{"packages":["ghc-9.4.1","cabal-install-3.10"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
+      os: linux
+    - compiler: ghc-9.2.8
+      addons: {"apt":{"packages":["ghc-9.2.8","cabal-install-3.10"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
       os: linux
     - compiler: ghc-9.2.7
       addons: {"apt":{"packages":["ghc-9.2.7","cabal-install-3.10"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
diff --git a/fixtures/enabled-jobs.bash b/fixtures/enabled-jobs.bash
--- 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.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.6.1 9.6.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.6.1 9.6.2 ghcjs-8.4
 #!/bin/bash
 # shellcheck disable=SC2086,SC2016,SC2046
 # REGENDATA ["--enabled-jobs=>=8","bash","enabled-jobs.project"]
@@ -21,7 +21,7 @@
 
 CFG_CABAL_STORE_CACHE=""
 CFG_CABAL_REPO_CACHE=""
-CFG_JOBS="9.6.2 9.6.1 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 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.6.2 9.6.1 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
--- 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.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.6.1 9.6.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.6.1 9.6.2 ghcjs-8.4
 # This GitHub workflow config has been generated by a script via
 #
 #   haskell-ci '--enabled-jobs=>=8' 'github' 'enabled-jobs.project'
@@ -66,6 +66,11 @@
           - compiler: ghc-9.4.1
             compilerKind: ghc
             compilerVersion: 9.4.1
+            setup-method: ghcup
+            allow-failure: false
+          - compiler: ghc-9.2.8
+            compilerKind: ghc
+            compilerVersion: 9.2.8
             setup-method: ghcup
             allow-failure: false
           - compiler: ghc-9.2.7
diff --git a/fixtures/enabled-jobs.travis b/fixtures/enabled-jobs.travis
--- a/fixtures/enabled-jobs.travis
+++ b/fixtures/enabled-jobs.travis
@@ -1,5 +1,5 @@
 # SUCCESS
-# *INFO* Generating Travis-CI 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.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.6.1 9.6.2 ghcjs-8.4
+# *INFO* Generating Travis-CI 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.6.1 9.6.2 ghcjs-8.4
 # This Travis job script has been generated by a script via
 #
 #   haskell-ci '--enabled-jobs=>=8' 'travis' 'enabled-jobs.project'
@@ -56,6 +56,9 @@
       os: linux
     - compiler: ghc-9.4.1
       addons: {"apt":{"packages":["ghc-9.4.1","cabal-install-3.10"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
+      os: linux
+    - compiler: ghc-9.2.8
+      addons: {"apt":{"packages":["ghc-9.2.8","cabal-install-3.10"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
       os: linux
     - compiler: ghc-9.2.7
       addons: {"apt":{"packages":["ghc-9.2.7","cabal-install-3.10"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
diff --git a/haskell-ci.cabal b/haskell-ci.cabal
--- a/haskell-ci.cabal
+++ b/haskell-ci.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               haskell-ci
-version:            0.16.3
+version:            0.16.6
 synopsis:           Cabal package script generator for Travis-CI
 description:
   Script generator (@haskell-ci@) for
@@ -81,6 +81,7 @@
     HaskellCI.Auxiliary
     HaskellCI.Bash
     HaskellCI.Bash.Template
+    HaskellCI.Cabal
     HaskellCI.Cli
     HaskellCI.Compiler
     HaskellCI.Config
@@ -101,7 +102,6 @@
     HaskellCI.Diagnostics
     HaskellCI.Error
     HaskellCI.Ghcup
-    HaskellCI.Cabal
     HaskellCI.GitConfig
     HaskellCI.GitHub
     HaskellCI.GitHub.Yaml
@@ -125,7 +125,6 @@
     HaskellCI.YamlSyntax
 
   default-extensions:
-    NoImplicitPrelude
     BangPatterns
     DeriveAnyClass
     DeriveFoldable
@@ -134,6 +133,7 @@
     DeriveTraversable
     DerivingStrategies
     GeneralizedNewtypeDeriving
+    NoImplicitPrelude
     ScopedTypeVariables
     TypeOperators
 
@@ -144,19 +144,19 @@
     ViewPatterns
 
   build-depends:
-    , base          >=4.10     && <4.18
+    , base          >=4.10      && <4.18
     , binary        ^>=0.8.5.1
     , bytestring    ^>=0.10.8.1 || ^>=0.11.1.0
     , Cabal-syntax  ^>=3.10.1.0
-    , containers    ^>=0.5.7.1 || ^>=0.6.0.1
+    , containers    ^>=0.5.7.1  || ^>=0.6.0.1
     , deepseq       ^>=1.4.2.0
     , directory     ^>=1.3.0.0
     , filepath      ^>=1.4.1.1
     , mtl           ^>=2.2.2
     , parsec        ^>=3.1.13.0
     , pretty        ^>=1.1.3.3
-    , process       ^>=1.4.3.0 || ^>=1.6.1.0
-    , text          ^>=1.2.3.0 || ^>=2.0.1
+    , process       ^>=1.4.3.0  || ^>=1.6.1.0
+    , text          ^>=1.2.3.0  || ^>=2.0.1
     , transformers  ^>=0.5.2.0
 
   if !impl(ghc >=8.2)
@@ -164,9 +164,9 @@
 
   -- other dependencies
   build-depends:
-    , aeson                          ^>=1.5.6.0 || ^>=2.0.0.0 || ^>=2.1.0.0
+    , aeson                          ^>=1.5.6.0    || ^>=2.0.0.0 || ^>=2.1.0.0
     , attoparsec                     ^>=0.14.1
-    , base-compat                    ^>=0.12
+    , base-compat                    ^>=0.13.0
     , base16-bytestring              ^>=1.0.1.0
     , cabal-install-parsers          ^>=0.6
     , cryptohash-sha256              ^>=0.11.101.0
@@ -176,9 +176,9 @@
     , indexed-traversable            ^>=0.1.1
     , indexed-traversable-instances  ^>=0.1
     , ini                            ^>=0.4.1
-    , lattices                       ^>=2
+    , lattices                       ^>=2.2
     , network-uri                    ^>=2.6.1.0
-    , optparse-applicative           ^>=0.17.0.0
+    , optparse-applicative           ^>=0.18.1.0
     , temporary                      ^>=1.3
     , unordered-containers           ^>=0.2.10.0
     , zinza                          ^>=0.2
@@ -189,6 +189,7 @@
 
 executable haskell-ci
   main-is:          Main.hs
+  ghc-options:      -threaded -rtsopts
   hs-source-dirs:   cli
   build-depends:
     , base
@@ -215,7 +216,7 @@
 
   -- dependencies needing explicit constraints
   build-depends:
-    , ansi-terminal  >=0.10    && <0.12
+    , ansi-terminal  >=1.0     && <1.1
     , Diff           ^>=0.4.0
     , tasty          ^>=1.4.1
     , tasty-golden   ^>=2.3.1.1
diff --git a/src/HaskellCI/Compiler.hs b/src/HaskellCI/Compiler.hs
--- a/src/HaskellCI/Compiler.hs
+++ b/src/HaskellCI/Compiler.hs
@@ -140,7 +140,7 @@
     , [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,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,6,1],  [9,6,2]
     ]
diff --git a/src/HaskellCI/GitHub.hs b/src/HaskellCI/GitHub.hs
--- a/src/HaskellCI/GitHub.hs
+++ b/src/HaskellCI/GitHub.hs
@@ -597,6 +597,8 @@
             let constraintFlags = map (\x ->  "--constraint='" ++ x ++ "'") (csConstraints cs)
             let allFlags        = unwords (testFlag : benchFlag : constraintFlags)
 
+            sh_cs $ "$CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " all --dry-run"
+            sh_cs $ "cabal-plan topo | sort"
             when cfgInstallDeps $ sh_cs $ "$CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " --dependencies-only -j2 all"
             sh_cs $ "$CABAL v2-build $ARG_COMPILER " ++ allFlags ++ " all"
             when (docspecEnabled && csDocspec cs) $
