Skip to content

Commit

Permalink
Bump CI to GHC 9.8 and latest versions of actions
Browse files Browse the repository at this point in the history
- adjust testes GHC versions to latest 3 plus oldest (GHC 8.0)
- bump actions to latest
- use outputs {ghc,cabal}-version of haskell-actions/setup
- bump stack lts to recommended
  • Loading branch information
andreasabel committed Mar 22, 2024
1 parent 1a8a923 commit eb6094e
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 28 deletions.
40 changes: 17 additions & 23 deletions .github/workflows/haskell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ jobs:
container: ubuntu:22.10

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: install autoconf
run: |
apt-get update -y -qq
apt-get install -y -qq build-essential autoconf${{ env.autoconf_ver }}
- name: run autoreconf
run: |
autoreconf${{ env.autoconf_ver }} -fi
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: configure
path: |
Expand All @@ -35,26 +35,26 @@ jobs:
needs: autoconf

steps:
- uses: actions/checkout@v3
- uses: haskell/actions/setup@v2
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
with:
cabal-version: '3.4'
cabal-version: 'latest'

- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: configure

- name: run sdist
run: |
cabal sdist
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: dist-tarball
path: dist-newstyle/sdist/network-*

- name: Release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: dist-newstyle/sdist/network-*
Expand All @@ -67,50 +67,44 @@ jobs:
fail-fast: false
matrix:
os: [ 'ubuntu-latest', 'macOS-latest', 'windows-latest' ]
ghc: [ '8.10', '9.0', '9.2', '9.4', '9.6' ]
ghc: [ '8.0', '9.4', '9.6', '9.8' ]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: haskell/actions/setup@v2
- uses: haskell-actions/setup@v2
id: setup
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: latest
cabal-update: true

- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: configure

- name: Haskell versions
shell: bash
run: |
echo "GHC_VERSION=$(ghc --numeric-version)" >> "${GITHUB_ENV}"
echo "CABAL_VERSION=$(cabal --numeric-version)" >> "${GITHUB_ENV}"
- name: Cabal configure
run: |
cabal configure --enable-tests --disable-benchmarks --disable-documentation
- name: Cache (restore)
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
id: cache
with:
path: ${{ steps.setup.outputs.cabal-store }}
key: build-${{ runner.os }}-ghc-${{ env.GHC_VERSION }}-cabal-${{ env.CABAL_VERSION }}-sha-${{ github.sha }}
key: build-${{ runner.os }}-ghc-${{ steps.setup.outputs.ghc-version }}-cabal-${{ steps.setup.outputs.cabal-version }}-sha-${{ github.sha }}
# Append commit SHA so that new cache is always written.
# This is fine as long as we do not hit the total cache limit of 10GB.
restore-keys: |
build-${{ runner.os }}-ghc-${{ env.GHC_VERSION }}-cabal-${{ env.CABAL_VERSION }}-
build-${{ runner.os }}-ghc-${{ env.GHC_VERSION }}-
build-${{ runner.os }}-ghc-${{ steps.setup.outputs.ghc-version }}-cabal-${{ steps.setup.outputs.cabal-version }}-
build-${{ runner.os }}-ghc-${{ steps.setup.outputs.ghc-version }}-
- name: Install dependencies
run: |
cabal build --only-dependencies
- name: Cache (save)
uses: actions/cache/save@v3
uses: actions/cache/save@v4
with:
path: ${{ steps.setup.outputs.cabal-store }}
key: ${{ steps.cache.outputs.cache-primary-key }}
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ cabal.sandbox.config
.cabal-sandbox
.stack-work/
.ghc.*
.vscode
.vscode
/stack.yaml.lock
7 changes: 4 additions & 3 deletions network.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ license-file: LICENSE
maintainer: Kazu Yamamoto, Evan Borden

tested-with:
GHC == 9.6.2
GHC == 9.4.5
GHC == 9.8.2
GHC == 9.6.4
GHC == 9.4.8
GHC == 9.2.8
GHC == 9.0.2
GHC == 8.10.7
Expand Down Expand Up @@ -192,7 +193,7 @@ test-suite spec
default-language: Haskell2010
ghc-options: -Wall -threaded
build-depends:
base >=4.9 && <5,
base,
bytestring,
directory,
HUnit,
Expand Down
2 changes: 1 addition & 1 deletion stack.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: lts-17.15
resolver: lts-21.25
packages:
- '.'
nix:
Expand Down

0 comments on commit eb6094e

Please sign in to comment.