diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index ae4a038f39d..ecfb015c699 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -52,28 +52,18 @@ jobs: restore-keys: bootstrap-${{ runner.os }}-${{ matrix.ghc }}-20221115- - uses: actions/checkout@v4 - # See https://github.com/haskell/cabal/pull/8739 - - name: Sudo chmod to permit ghcup to update its cache - run: | - if [[ "${{ runner.os }}" == "Linux" ]]; then - sudo ls -lah /usr/local/.ghcup/cache - sudo mkdir -p /usr/local/.ghcup/cache - sudo ls -lah /usr/local/.ghcup/cache - sudo chown -R $USER /usr/local/.ghcup - sudo chmod -R 777 /usr/local/.ghcup - fi + - uses: haskell-actions/setup@v2 + with: + ghc-version: ${{ matrix.ghc }} + - name: bootstrap.py run: | GHC_VERSION=${{ matrix.ghc }} - ghcup --version - ghcup config set cache true - ghcup install ghc $GHC_VERSION - # Fetch the bootstrap sources (we use linux dependencies also on macos) - python3 bootstrap/bootstrap.py -w $(ghcup whereis ghc $GHC_VERSION) -d bootstrap/linux-$GHC_VERSION.json fetch + python3 bootstrap/bootstrap.py -d bootstrap/linux-$GHC_VERSION.json fetch # Bootstrap using the bootstrap sources - python3 bootstrap/bootstrap.py -w $(ghcup whereis ghc $GHC_VERSION) --bootstrap-sources bootstrap-sources.tar.gz + python3 bootstrap/bootstrap.py --bootstrap-sources bootstrap-sources.tar.gz - name: Smoke test run: | diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 7b7d829ff80..2dc7816c523 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -66,7 +66,7 @@ jobs: GHC_FOR_RELEASE: ${{ format('["{0}"]', env.GHC_FOR_RELEASE) }} strategy: matrix: - os: ["ubuntu-latest", "macos-latest", "windows-latest"] + os: ["ubuntu-latest", "macos-13", "windows-latest"] # If you remove something from here.. then add it to the old-ghcs job. ghc: ["9.8.2", "9.6.4", "9.4.8", "9.2.8", "9.0.2", "8.10.7", "8.8.4", "8.6.5"] exclude: diff --git a/cabal-testsuite/PackageTests/Manpage/cabal.test.hs b/cabal-testsuite/PackageTests/Manpage/cabal.test.hs index 6b19fa4d7ce..68def219070 100644 --- a/cabal-testsuite/PackageTests/Manpage/cabal.test.hs +++ b/cabal-testsuite/PackageTests/Manpage/cabal.test.hs @@ -7,8 +7,8 @@ main = cabalTest $ do assertOutputContains ".B cabal install" r assertOutputDoesNotContain ".B cabal manpage" r - -- The following test of `cabal man` needs `nroff` which is not available under Windows. - unless (buildOS == Windows) $ do + -- The following test of `cabal man` needs `nroff` which is not available under Windows and OSX. + unless (buildOS == Windows || buildOS ==OSX) $ do -- Check that output of `cabal man --raw` can be passed through `nroff -man` -- without producing any warnings (which are printed to stderr). diff --git a/cabal-testsuite/src/Test/Cabal/Server.hs b/cabal-testsuite/src/Test/Cabal/Server.hs index 450c6f660c7..145d686bb30 100644 --- a/cabal-testsuite/src/Test/Cabal/Server.hs +++ b/cabal-testsuite/src/Test/Cabal/Server.hs @@ -40,6 +40,9 @@ import qualified GHC.IO.Exception as GHC import Distribution.Verbosity import System.Process.Internals + ( ProcessHandle__( OpenHandle ) + , withProcessHandle + ) #if mingw32_HOST_OS import qualified System.Win32.Process as Win32 #endif