Merge pull request #775 from liskin/ci

CI maintenance (GHA deprecations, GHC 9.4)
This commit is contained in:
Tomáš Janoušek
2022-10-31 11:45:12 +00:00
committed by GitHub
9 changed files with 34 additions and 37 deletions

View File

@@ -45,12 +45,12 @@ set in GitHub repository secrets.
- compiler: ghc-8.10.7 - compiler: ghc-8.10.7
compilerKind: ghc compilerKind: ghc
compilerVersion: 8.10.7 compilerVersion: 8.10.7
@@ -240,8 +240,80 @@ @@ -209,8 +217,80 @@
${CABAL} -vnormal check ${CABAL} -vnormal check
- name: haddock - name: haddock
run: | run: |
- $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all - $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
+ $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH --haddock-for-hackage --builddir $GITHUB_WORKSPACE/haddock all + $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH --haddock-for-hackage --builddir $GITHUB_WORKSPACE/haddock all
- name: unconstrained build - name: unconstrained build
run: | run: |
rm -f cabal.project.local rm -f cabal.project.local

View File

@@ -35,9 +35,14 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- compiler: ghc-9.2.2 - compiler: ghc-9.4.2
compilerKind: ghc compilerKind: ghc
compilerVersion: 9.2.2 compilerVersion: 9.4.2
setup-method: ghcup
allow-failure: false
- compiler: ghc-9.2.4
compilerKind: ghc
compilerVersion: 9.2.4
setup-method: ghcup setup-method: ghcup
allow-failure: false allow-failure: false
- compiler: ghc-9.0.2 - compiler: ghc-9.0.2
@@ -240,7 +245,7 @@ jobs:
${CABAL} -vnormal check ${CABAL} -vnormal check
- name: haddock - name: haddock
run: | run: |
$CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH --haddock-for-hackage --builddir $GITHUB_WORKSPACE/haddock all $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH --haddock-for-hackage --builddir $GITHUB_WORKSPACE/haddock all
- name: unconstrained build - name: unconstrained build
run: | run: |
rm -f cabal.project.local rm -f cabal.project.local

View File

@@ -12,7 +12,7 @@ jobs:
contents: read contents: read
steps: steps:
- name: Install Nix - name: Install Nix
uses: cachix/install-nix-action@v13 uses: cachix/install-nix-action@v18
with: with:
install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install
install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve'
@@ -20,7 +20,7 @@ jobs:
experimental-features = nix-command flakes experimental-features = nix-command flakes
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- name: Clone project - name: Clone project
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Build - name: Build
# "nix build" builds with full optimization and includes a profiling # "nix build" builds with full optimization and includes a profiling
# build, so just the build of xmonad-contrib itself takes 3 minutes. # build, so just the build of xmonad-contrib itself takes 3 minutes.

View File

@@ -13,7 +13,7 @@ jobs:
steps: steps:
- name: Clone project - name: Clone project
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Setup Haskell - name: Setup Haskell
uses: haskell/actions/setup@v1 uses: haskell/actions/setup@v1
with: with:

View File

@@ -12,31 +12,24 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- resolver: lts-12 - resolver: lts-12 # GHC 8.4
ghc: 8.4.4
yaml: stack.yaml yaml: stack.yaml
- resolver: lts-12 - resolver: lts-12 # GHC 8.4
ghc: 8.4.4
yaml: stack-master.yaml yaml: stack-master.yaml
- resolver: lts-14 - resolver: lts-14 # GHC 8.6
ghc: 8.6.5
yaml: stack-master.yaml yaml: stack-master.yaml
- resolver: lts-16 - resolver: lts-16 # GHC 8.8
ghc: 8.8.4
yaml: stack-master.yaml yaml: stack-master.yaml
- resolver: lts-18 - resolver: lts-18 # GHC 8.10
ghc: 8.10.7
yaml: stack-master.yaml yaml: stack-master.yaml
- resolver: lts-19 - resolver: lts-19 # GHC 9.0
ghc: 9.0.2
yaml: stack.yaml yaml: stack.yaml
- resolver: lts-19 - resolver: lts-19 # GHC 9.0
ghc: 9.0.2
yaml: stack-master.yaml yaml: stack-master.yaml
steps: steps:
- name: Clone project - name: Clone project
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Prepare apt sources - name: Prepare apt sources
run: | run: |
@@ -56,14 +49,6 @@ jobs:
libxss-dev \ libxss-dev \
# #
- name: Install GHC
# 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 }}
echo /opt/ghc/${{ matrix.ghc }}/bin >> $GITHUB_PATH
- name: Refresh caches once a month - name: Refresh caches once a month
id: cache-date id: cache-date
# GHA writes caches on the first miss and then never updates them again; # GHA writes caches on the first miss and then never updates them again;
@@ -71,16 +56,16 @@ jobs:
# date is prefixed with an epoch number to let us manually refresh the # date is prefixed with an epoch number to let us manually refresh the
# cache when needed. This is a workaround for https://github.com/actions/cache/issues/2 # cache when needed. This is a workaround for https://github.com/actions/cache/issues/2
run: | run: |
echo "::set-output name=date::1-$(date +%Y-%m)" date +date=1-%Y-%m >> $GITHUB_OUTPUT
- name: Cache Haskell package metadata - name: Cache Haskell package metadata
uses: actions/cache@v2 uses: actions/cache@v3
with: with:
path: ~/.stack/pantry path: ~/.stack/pantry
key: stack-pantry-${{ runner.os }}-${{ steps.cache-date.outputs.date }} key: stack-pantry-${{ runner.os }}-${{ steps.cache-date.outputs.date }}
- name: Cache Haskell dependencies - name: Cache Haskell dependencies
uses: actions/cache@v2 uses: actions/cache@v3
with: with:
path: | path: |
~/.stack/* ~/.stack/*

View File

@@ -1,5 +1,8 @@
{-# OPTIONS_GHC -fno-warn-missing-signatures #-} {-# OPTIONS_GHC -fno-warn-missing-signatures #-}
{-# LANGUAGE MultiParamTypeClasses, Rank2Types, TypeFamilies #-} {-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Rank2Types #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- | -- |

View File

@@ -5,6 +5,7 @@
{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
-------------------------------------------------------------------- --------------------------------------------------------------------
-- | -- |
-- Module : XMonad.Util.Parser -- Module : XMonad.Util.Parser

View File

@@ -14,3 +14,6 @@ raw-project
package xmonad-contrib package xmonad-contrib
flags: +pedantic flags: +pedantic
ghc-options: -j ghc-options: -j
-- avoid --haddock-all which overwrites *-docs.tar.gz with tests docs
haddock-components: libs

View File

@@ -38,7 +38,7 @@ cabal-version: 1.12
build-type: Simple build-type: Simple
bug-reports: https://github.com/xmonad/xmonad-contrib/issues bug-reports: https://github.com/xmonad/xmonad-contrib/issues
tested-with: GHC == 8.4.4 || == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.2 tested-with: GHC == 8.4.4 || == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.4 || == 9.4.2
source-repository head source-repository head
type: git type: git