diff --git a/.github/workflows/packdeps.yml b/.github/workflows/packdeps.yml new file mode 100644 index 0000000..376312a --- /dev/null +++ b/.github/workflows/packdeps.yml @@ -0,0 +1,40 @@ +name: Packdeps + +on: + workflow_dispatch: + schedule: + # Run every Saturday + - cron: '0 3 * * 6' + +jobs: + packdeps: + name: Packdeps + runs-on: ubuntu-latest + + steps: + - name: Clone project + uses: actions/checkout@v2 + - name: Setup Haskell + uses: haskell/actions/setup@v1 + with: + # packdeps doesn't build with newer as of 2021-10 + ghc-version: '8.8' + - name: Install packdeps + run: | + set -ex + echo "$HOME/.cabal/bin" >> $GITHUB_PATH + cabal install packdeps + - name: Check package bounds (all) + continue-on-error: true + run: | + set -ex + packdeps \ + --exclude X11 \ + *.cabal + - name: Check package bounds (preferred) + run: | + set -ex + packdeps \ + --preferred \ + --exclude X11 \ + *.cabal diff --git a/.github/workflows/stack.yml b/.github/workflows/stack.yml index 02a2fbe..db6d700 100644 --- a/.github/workflows/stack.yml +++ b/.github/workflows/stack.yml @@ -20,6 +20,8 @@ jobs: ghc: 8.8.4 - resolver: lts-17 ghc: 8.10.4 + - resolver: lts-18 + ghc: 8.10.7 steps: - name: Clone project @@ -43,7 +45,8 @@ jobs: # - name: Install GHC - # use system ghc in stack, don't waste GH Actions cache space + # use system ghc (if available) in stack, don't waste GH Actions cache space + continue-on-error: true run: | set -ex sudo apt install -y ghc-${{ matrix.ghc }} @@ -70,6 +73,7 @@ jobs: path: | ~/.stack/* !~/.stack/pantry + !~/.stack/programs key: stack-${{ runner.os }}-${{ matrix.resolver }}-${{ steps.cache-date.outputs.date }}-${{ hashFiles('stack.yaml') }}-${{ hashFiles('*.cabal') }} restore-keys: | stack-${{ runner.os }}-${{ matrix.resolver }}-${{ steps.cache-date.outputs.date }}-${{ hashFiles('stack.yaml') }}- diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 58b4a13..9e604a1 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -78,10 +78,9 @@ When the time comes to release another version of xmonad and xmonad-contrib: If the manpage changes, wait for the CI to rebuild the rendered outputs. - 3. Check dependency bounds. In particular, [packdeps][] can be used to check - if any new versions are excluded by the upper bounds specified. - Also, make sure that `tested-with:` covers several recent releases of - GHC, and that `.github/workflows/stack.yml` tests with several recent + 3. Make sure that `tested-with:` covers several recent releases of GHC, that + `.github/workflows/haskell-ci.yml` had been updated to test all these GHC + versions and that `.github/workflows/stack.yml` tests with several recent revisions of [Stackage][] LTS. 4. Create a release on GitHub: @@ -105,9 +104,12 @@ When the time comes to release another version of xmonad and xmonad-contrib: 7. Post announcement to: + - [xmonad.org website](https://github.com/xmonad/xmonad-web/tree/gh-pages/news/_posts) - [XMonad mailing list](https://mail.haskell.org/mailman/listinfo/xmonad) - [Haskell Cafe](https://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe) - [Haskell Discourse](https://discourse.haskell.org/) + - [Twitter](https://twitter.com/xmonad) + - [Reddit](https://www.reddit.com/r/xmonad/) See [old announcements][old-announce] for inspiration. diff --git a/xmonad.cabal b/xmonad.cabal index a9d3c0c..22f24cb 100644 --- a/xmonad.cabal +++ b/xmonad.cabal @@ -67,7 +67,7 @@ library XMonad.StackSet other-modules: Paths_xmonad hs-source-dirs: src - build-depends: base >= 4.9 && < 5 + build-depends: base >= 4.11 && < 5 , X11 >= 1.10 && < 1.11 , containers , data-default-class