Skip to content

Commit 15baa0a

Browse files
committed
Bump CI to GHC 9.8.2 and 9.6.5
Also: - setup PKG_CONFIG_PATH for openssl on macOS runner
1 parent bbf8f0f commit 15baa0a

6 files changed

Lines changed: 44 additions & 40 deletions

File tree

.github/workflows/haskell-ci.yml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/andreasabel/haskell-ci
1010
#
11-
# version: 0.17.20240110
11+
# version: 0.19.20240429
1212
#
13-
# REGENDATA ("0.17.20240110",["github","hackage-cli.cabal"])
13+
# REGENDATA ("0.19.20240429",["github","hackage-cli.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -27,19 +27,19 @@ jobs:
2727
timeout-minutes:
2828
60
2929
container:
30-
image: buildpack-deps:focal
30+
image: buildpack-deps:jammy
3131
continue-on-error: ${{ matrix.allow-failure }}
3232
strategy:
3333
matrix:
3434
include:
35-
- compiler: ghc-9.8.1
35+
- compiler: ghc-9.8.2
3636
compilerKind: ghc
37-
compilerVersion: 9.8.1
37+
compilerVersion: 9.8.2
3838
setup-method: ghcup
3939
allow-failure: false
40-
- compiler: ghc-9.6.4
40+
- compiler: ghc-9.6.5
4141
compilerKind: ghc
42-
compilerVersion: 9.6.4
42+
compilerVersion: 9.6.5
4343
setup-method: ghcup
4444
allow-failure: false
4545
- compiler: ghc-9.4.8
@@ -91,8 +91,9 @@ jobs:
9191
mkdir -p "$HOME/.ghcup/bin"
9292
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
9393
chmod a+x "$HOME/.ghcup/bin/ghcup"
94+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
9495
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
95-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
96+
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.3.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
9697
apt-get update
9798
apt-get install -y libbrotli-dev
9899
env:
@@ -112,7 +113,7 @@ jobs:
112113
echo "HC=$HC" >> "$GITHUB_ENV"
113114
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
114115
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
115-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
116+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.3.0 -vnormal+nowrap" >> "$GITHUB_ENV"
116117
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
117118
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
118119
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
@@ -205,7 +206,7 @@ jobs:
205206
$CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
206207
cabal-plan
207208
- name: restore cache
208-
uses: actions/cache/restore@v3
209+
uses: actions/cache/restore@v4
209210
with:
210211
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
211212
path: ~/.cabal/store
@@ -235,7 +236,7 @@ jobs:
235236
rm -f cabal.project.local
236237
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
237238
- name: save cache
238-
uses: actions/cache/save@v3
239+
uses: actions/cache/save@v4
239240
if: always()
240241
with:
241242
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}

.github/workflows/stack.yml

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
os: [ubuntu-latest]
17-
ghc-ver: [9.8.1, 9.6.4]
17+
ghc-ver: [9.8, 9.6]
1818
# Snapshots for 9.4.8, 9.2.8, 9.0.2, 8.10.7 do not have a recent enough base-compat; 0.13 is needed.
1919
# On ubuntu-22.04 the old versions 8.8.4, 8.6.5, 8.4.4, 8.2.2 fail due to HsOpenSSL linking errors.
2020
# They used to work under ubuntu-20.04, but it is not worth the trouble maintaining them.
2121
# Apparently, HsOpenSSL-0.11.6 and older are too old for ubuntu-22.04.
2222
include:
2323
- os: macos-latest
24-
ghc-ver: 9.8.1
24+
ghc-ver: 9.8
2525
- os: windows-latest
26-
ghc-ver: 9.8.1
26+
ghc-ver: 9.8
27+
2728
env:
2829
ARGS: "--stack-yaml=stack-${{ matrix.ghc-ver }}.yaml --no-terminal --system-ghc"
2930

@@ -35,13 +36,19 @@ jobs:
3536
- uses: actions/checkout@v4
3637

3738
- uses: haskell-actions/setup@v2
38-
id: haskell-setup
39+
id: setup
3940
with:
4041
ghc-version: ${{ matrix.ghc-ver }}
4142
enable-stack: true
4243

44+
- name: Set up the openssl library (MacOS)
45+
if: runner.os == 'macOS'
46+
run: |
47+
echo "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}"
48+
echo "PKG_CONFIG_PATH=$(brew --prefix)/opt/openssl/lib/pkgconfig" >> "${GITHUB_ENV}"
49+
4350
- name: Install the brotli library (Windows)
44-
if: ${{ runner.os == 'Windows' }}
51+
if: runner.os == 'Windows'
4552
# Andreas Abel, 2022-02-15:
4653
# Stack is packing an old version of MSYS2.
4754
# To work around certification problems, we need to update msys2-keyring.
@@ -52,24 +59,19 @@ jobs:
5259
stack exec ${{ env.ARGS }} -- pacman --noconfirm -S mingw-w64-x86_64-openssl
5360
5461
- name: Install the brotli library (Ubuntu)
55-
if: ${{ runner.os == 'Linux' }}
62+
if: runner.os == 'Linux'
5663
run: |
5764
sudo apt-get update
5865
sudo apt-get install libbrotli-dev -qq
5966
60-
- name: Set environment variables based on Haskell setup
61-
run: |
62-
STACK_VER=$(stack --numeric-version)
63-
echo "STACK_VER=${STACK_VER}" >> "${GITHUB_ENV}"
64-
6567
- name: Cache dependencies (restore)
6668
uses: actions/cache/restore@v4
6769
id: cache
6870
with:
69-
path: ${{ steps.haskell-setup.outputs.stack-root }}
71+
path: ${{ steps.setup.outputs.stack-root }}
7072
# Use a unique primary key (always save new cache); works if caches aren't to big or too many...
71-
key: ${{ runner.os }}-stack-${{ env.STACK_VER }}-ghc-${{ matrix.ghc-ver }}-commit-${{ github.sha }}
72-
restore-keys: ${{ runner.os }}-stack-${{ env.STACK_VER }}-ghc-${{ matrix.ghc-ver }}-
73+
key: ${{ runner.os }}-stack-${{ steps.setup.outputs.stack-version }}-ghc-${{ steps.setup.outputs.ghc-version }}-commit-${{ github.sha }}
74+
restore-keys: ${{ runner.os }}-stack-${{ steps.setup.outputs.stack-version }}-ghc-${{ steps.setup.outputs.ghc-version }}-
7375

7476
- name: Install dependencies
7577
# if: ${{ steps.cache.outputs.cache-hit != 'true' }}
@@ -86,9 +88,8 @@ jobs:
8688
8789
- name: Cache dependencies (save)
8890
uses: actions/cache/save@v4
89-
if: always()
91+
if: always() && steps.cache.outputs.cache-hit != 'true'
9092
# # Will fail if we already have a cache with this key (in this case, cache-hit is true).
91-
# if: ${{ steps.cache.outputs.cache-hit != 'true' }}
9293
with:
93-
path: ${{ steps.haskell-setup.outputs.stack-root }}
94+
path: ${{ steps.setup.outputs.stack-root }}
9495
key: ${{ steps.cache.outputs.cache-primary-key }}

hackage-cli.cabal

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ build-type: Simple
1818
-- Supported GHC versions when building with cabal:
1919
tested-with:
2020
-- Keep in descending order.
21-
GHC == 9.8.1
22-
GHC == 9.6.4
21+
GHC == 9.8.2
22+
GHC == 9.6.5
2323
GHC == 9.4.8
2424
GHC == 9.2.8
2525
GHC == 9.0.2
@@ -37,12 +37,8 @@ extra-source-files:
3737
fixtures/*.diff
3838
fixtures/*.cabal
3939
-- Supported GHC versions when building with stack:
40-
stack-9.8.1.yaml
41-
stack-9.6.4.yaml
42-
stack-9.4.8.yaml
43-
stack-9.2.8.yaml
44-
stack-9.0.2.yaml
45-
stack-8.10.7.yaml
40+
stack-9.8.yaml
41+
stack-9.6.yaml
4642

4743
source-repository head
4844
Type: git
@@ -55,7 +51,7 @@ library cabal-revisions
5551
ghc-options: -Wall -Wcompat
5652

5753
build-depends:
58-
, base >= 4.10.0.0 && < 4.20
54+
, base >= 4.10.0.0 && < 5
5955
, bytestring >= 0.10.4.0 && < 0.13
6056
, Cabal >= 3.4 && < 3.11
6157
, containers >= 0.5.0.0 && < 0.8
@@ -79,7 +75,7 @@ test-suite cabal-revisions-tests
7975
, tasty >= 1.0 && < 1.6
8076
-- tasty-1.0 for stack-8.2.2.yaml
8177
, tasty-golden ^>= 2.3.2
82-
, filepath ^>= 1.4.0.0
78+
, filepath >= 1.4.0.0 && < 1.6
8379

8480
executable hackage-cli
8581
default-language: Haskell2010
@@ -134,8 +130,8 @@ executable hackage-cli
134130
, tagsoup ^>= 0.14
135131
, tar >= 0.5 && < 1
136132
, text >= 1.2 && < 2.2
137-
, time >= 1.5.0.1 && < 1.13
133+
, time >= 1.5.0.1 && < 1.15
138134
, unordered-containers ^>= 0.2.7
139-
, zlib ^>= 0.6.1
135+
, zlib >= 0.6.1 && < 0.8
140136

141137
ghc-options: -Wall -Wcompat -threaded

stack-9.4.8.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
resolver: lts-21.25
22
compiler: ghc-9.4.8
33
compiler-check: match-exact
4+
5+
# Cannot easily update base-compat in this snapshot
6+
# extra-deps:
7+
# - base-compat-0.13.1

stack-9.6.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
resolver: lts-22.21

stack-9.8.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
resolver: nightly-2024-05-11

0 commit comments

Comments
 (0)