diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 31c8467eb44fd2481453fac7ff3f28c99bfa43d1..5ec6e11b1393984ea02217002771d8b770dfce3a 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -19,6 +19,61 @@ on: jobs: + test-windows-8_8_3: + name: test ghc-8.8.3 + runs-on: windows-latest + steps: + - name: Configure Chocolatey + run: choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2 + - name: Install msys2 + run: choco install -y msys2 + - name: Install Cabal + run: choco install -y cabal --version 3.0.0.0 + - name: Install GHC + run: choco install -y ghc --version 8.6.5 + - name: Set PATH + run: | + [Environment]::GetEnvironmentVariable("Path") + Write-Host "::add-path::C:\ProgramData\chocolatey\lib\cabal\tools\cabal-3.0.0.0" + Write-Host "::add-path::C:\ProgramData\chocolatey\lib\ghc\tools\ghc-8.8.3\bin" + - name: Print versions + run: | + ghc --version + cabal --version + cabal user-config init -a "http-transport: plain-http" -a "store-dir: C:\SR" -f -v3 + - uses: actions/cache@v1 + with: + path: C:\SR + key: linux-store-meta + - name: Update Hackage index + run: cabal v2-update + - uses: actions/checkout@v2 + - name: make cabal-install-dev + run: runghc cabal-dev-scripts/src/Preprocessor.hs -o cabal-install/cabal-install.cabal -f CABAL_FLAG_LIB cabal-install/cabal-install.cabal.pp + # We cannot ask for all dependencies, but we can for Cabal. + - name: cabal v2-build Cabal --only-dependencies + run: cabal v2-build Cabal --only-dependencies + - name: cabal v2-build + run: cabal v2-build all + - name: cabal-install memory-usage-tests + run: | + cd cabal-install + cabal v2-run cabal-install:memory-usage-tests + - name: cabal-install solver-quickcheck + run: | + cd cabal-install + cabal v2-run cabal-install:solver-quickcheck + - name: cabal-install integration-tests2 + run: | + cd cabal-install + cabal v2-run cabal-install:integration-tests2 + - name: cabal-install unit-tests + run: | + cd cabal-install + cabal v2-run cabal-install:unit-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)" + - name: cabal-tests + # Using only one job, -j1, to fail less. + run: cabal v2-run cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.8.3\cabal-install-3.3.0.0\x\cabal\build\cabal\cabal.exe test-windows-8_6_5: name: test ghc-8.6.5 runs-on: windows-latest @@ -74,3 +129,58 @@ jobs: - name: cabal-tests # Using only one job, -j1, to fail less. run: cabal v2-run cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.6.5\cabal-install-3.3.0.0\x\cabal\build\cabal\cabal.exe + test-windows-8_10_1: + name: test ghc-8.10.1 + runs-on: windows-latest + steps: + - name: Configure Chocolatey + run: choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2 + - name: Install msys2 + run: choco install -y msys2 + - name: Install Cabal + run: choco install -y cabal --version 3.0.0.0 + - name: Install GHC + run: choco install -y ghc --version 8.6.5 + - name: Set PATH + run: | + [Environment]::GetEnvironmentVariable("Path") + Write-Host "::add-path::C:\ProgramData\chocolatey\lib\cabal\tools\cabal-3.0.0.0" + Write-Host "::add-path::C:\ProgramData\chocolatey\lib\ghc\tools\ghc-8.10.1\bin" + - name: Print versions + run: | + ghc --version + cabal --version + cabal user-config init -a "http-transport: plain-http" -a "store-dir: C:\SR" -f -v3 + - uses: actions/cache@v1 + with: + path: C:\SR + key: linux-store-meta + - name: Update Hackage index + run: cabal v2-update + - uses: actions/checkout@v2 + - name: make cabal-install-dev + run: runghc cabal-dev-scripts/src/Preprocessor.hs -o cabal-install/cabal-install.cabal -f CABAL_FLAG_LIB cabal-install/cabal-install.cabal.pp + # We cannot ask for all dependencies, but we can for Cabal. + - name: cabal v2-build Cabal --only-dependencies + run: cabal v2-build Cabal --only-dependencies + - name: cabal v2-build + run: cabal v2-build all + - name: cabal-install memory-usage-tests + run: | + cd cabal-install + cabal v2-run cabal-install:memory-usage-tests + - name: cabal-install solver-quickcheck + run: | + cd cabal-install + cabal v2-run cabal-install:solver-quickcheck + - name: cabal-install integration-tests2 + run: | + cd cabal-install + cabal v2-run cabal-install:integration-tests2 + - name: cabal-install unit-tests + run: | + cd cabal-install + cabal v2-run cabal-install:unit-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)" + - name: cabal-tests + # Using only one job, -j1, to fail less. + run: cabal v2-run cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.10.1\cabal-install-3.3.0.0\x\cabal\build\cabal\cabal.exe diff --git a/cabal-dev-scripts/src/GenValidate.hs b/cabal-dev-scripts/src/GenValidate.hs index 6b7825ccb07cf1753bf6312388f956d357aaffd2..48169bf39983ab9ffbe75111e1d7bb6bc4985592 100644 --- a/cabal-dev-scripts/src/GenValidate.hs +++ b/cabal-dev-scripts/src/GenValidate.hs @@ -46,7 +46,9 @@ main = do -- Unexpected failure on GHCi exit: fd:10: hClose: resource vanished (Broken pipe) -- cabal-tests: fd:10: hClose: resource vanished (Broken pipe) -- [ WinGhcJob "8.8.1" ["8.6.5"] - [ WinGhcJob "8.6.5" [] + [ WinGhcJob "8.8.3" [] + , WinGhcJob "8.6.5" [] + , WinGhcJob "8.10.1" [] ] , zMangleVersion = map mangleChar , zOr = (||)