From 9234161929c84e009aa8e1408aff65f9cd408bb9 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Fri, 31 Mar 2023 07:46:37 +0200 Subject: [PATCH] ci: Test against GHC 9.6.1 + Regenerate haskell-ci and adjust relevant patches. - Remove haskell-ci-dependabot.patch, as it is no longer necessary. Related: xmonad/xmonad-contrib@635711e994a2aad75fe70dc148e9232d1f86e608 --- .github/workflows/haskell-ci-dependabot.patch | 23 ---------------- .github/workflows/haskell-ci-hackage.patch | 9 ++++--- .github/workflows/haskell-ci.yml | 27 +++++++++++++------ cabal.haskell-ci | 1 - 4 files changed, 25 insertions(+), 35 deletions(-) delete mode 100644 .github/workflows/haskell-ci-dependabot.patch diff --git a/.github/workflows/haskell-ci-dependabot.patch b/.github/workflows/haskell-ci-dependabot.patch deleted file mode 100644 index 2f4db72..0000000 --- a/.github/workflows/haskell-ci-dependabot.patch +++ /dev/null @@ -1,23 +0,0 @@ -Bump some GitHub Actions versions to prevent Dependabot from opening pull -requests every time we regenerate the haskell-ci workflow. - ---- .github/workflows/haskell-ci.yml.orig -+++ .github/workflows/haskell-ci.yml -@@ -190,7 +190,7 @@ jobs: - chmod a+x $HOME/.cabal/bin/cabal-plan - cabal-plan --version - - name: checkout -- uses: actions/checkout@v2 -+ uses: actions/checkout@v3 - with: - path: source - - name: autoreconf -@@ -231,7 +231,7 @@ jobs: - $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all - cabal-plan - - name: cache -- uses: actions/cache@v2 -+ uses: actions/cache@v3 - with: - key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} - path: ~/.cabal/store diff --git a/.github/workflows/haskell-ci-hackage.patch b/.github/workflows/haskell-ci-hackage.patch index 2e551ce..af35032 100644 --- a/.github/workflows/haskell-ci-hackage.patch +++ b/.github/workflows/haskell-ci-hackage.patch @@ -45,16 +45,19 @@ set in GitHub repository secrets. - compiler: ghc-8.10.7 compilerKind: ghc compilerVersion: 8.10.7 -@@ -209,8 +217,80 @@ +@@ -237,7 +237,7 @@ ${CABAL} -vnormal check - name: haddock run: | -- $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all +- $CABAL v2-haddock --disable-documentation $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all + $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH --haddock-for-hackage --builddir $GITHUB_WORKSPACE/haddock all - name: unconstrained build run: | rm -f cabal.project.local - $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all +@@ -248,3 +248,75 @@ + with: + key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} + path: ~/.cabal/store + - name: upload artifacts (sdist) + if: matrix.upload + uses: actions/upload-artifact@v3 diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index cdf74b1..97385de 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -8,9 +8,9 @@ # # For more information, see https://github.com/haskell-CI/haskell-ci # -# version: 0.15.202211107 +# version: 0.15.20230312 # -# REGENDATA ("0.15.202211107",["github","cabal.project"]) +# REGENDATA ("0.15.20230312",["github","cabal.project"]) # name: Haskell-CI on: @@ -35,6 +35,11 @@ jobs: strategy: matrix: include: + - compiler: ghc-9.6.1 + compilerKind: ghc + compilerVersion: 9.6.1 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.4.3 compilerKind: ghc compilerVersion: 9.4.3 @@ -97,7 +102,7 @@ jobs: curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false) - "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false) + "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) apt-get update apt-get install -y libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxss-dev else @@ -107,7 +112,7 @@ jobs: mkdir -p "$HOME/.ghcup/bin" curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup" chmod a+x "$HOME/.ghcup/bin/ghcup" - "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false) + "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false) fi env: HCKIND: ${{ matrix.compilerKind }} @@ -125,13 +130,13 @@ jobs: echo "HC=$HC" >> "$GITHUB_ENV" echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV" echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV" - echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV" + echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV" else HC=$HCDIR/bin/$HCKIND echo "HC=$HC" >> "$GITHUB_ENV" echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV" echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV" - echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV" + echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV" fi HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') @@ -230,8 +235,8 @@ jobs: run: | $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all cabal-plan - - name: cache - uses: actions/cache@v3 + - name: restore cache + uses: actions/cache/restore@v3 with: key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} path: ~/.cabal/store @@ -257,6 +262,12 @@ jobs: run: | rm -f cabal.project.local $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all + - name: save cache + uses: actions/cache/save@v3 + if: always() + with: + key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }} + path: ~/.cabal/store - name: upload artifacts (sdist) if: matrix.upload uses: actions/upload-artifact@v3 diff --git a/cabal.haskell-ci b/cabal.haskell-ci index 2df7b1f..b489ec9 100644 --- a/cabal.haskell-ci +++ b/cabal.haskell-ci @@ -6,7 +6,6 @@ apt: libxss-dev github-patches: - .github/workflows/haskell-ci-dependabot.patch .github/workflows/haskell-ci-autoreconf.patch .github/workflows/haskell-ci-hackage.patch