Skip to content

Commit 963f0ca

Browse files
committed
ci: Fix CI
Run CI on various GHC versions on both cabal and stack. Signed-off-by: Taimoor Zaeem <[email protected]>
1 parent 03d2ce7 commit 963f0ca

File tree

3 files changed

+85
-49
lines changed

3 files changed

+85
-49
lines changed

.github/workflows/ci.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Build and Test
2+
3+
on:
4+
push:
5+
branches: [ "master" ]
6+
pull_request:
7+
branches: [ "master" ]
8+
9+
jobs:
10+
cabal:
11+
strategy:
12+
matrix:
13+
ghc: ['8.10.7','9.0.2','9.2.8','9.4.8','9.6.7','9.8.4','9.10.2','9.12.2']
14+
runs-on: [windows-latest, macos-latest, ubuntu-latest]
15+
exclude:
16+
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
17+
ghc: '8.10.7'
18+
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
19+
ghc: '9.0.2'
20+
fail-fast: false
21+
name: Cabal - ${{ matrix.runs-on }} GHC ${{ matrix.ghc }}
22+
runs-on: ${{ matrix.runs-on }}
23+
steps:
24+
- uses: actions/checkout@v5
25+
- uses: haskell-actions/setup@v2
26+
with:
27+
ghc-version: ${{ matrix.ghc }}
28+
29+
- name: Cache dependencies
30+
uses: actions/cache@v4
31+
with:
32+
path: |
33+
~/.cabal
34+
dist-newstyle
35+
key: ${{ matrix.runs-on }}-cabal-${{ matrix.ghc }}-${{ hashFiles('streaming-commons.cabal') }}
36+
restore-keys: |
37+
${{ matrix.runs-on }}-cabal-${{ matrix.ghc }}
38+
${{ matrix.runs-on }}-cabal-
39+
40+
- name: Update Cabal package list
41+
run: cabal v2-update --with-compiler=ghc-${{ matrix.ghc }}
42+
43+
- name: Build project
44+
run: cabal v2-build --with-compiler=ghc-${{ matrix.ghc }}
45+
46+
- name: Run tests
47+
run: cabal v2-test --with-compiler=ghc-${{ matrix.ghc }}
48+
49+
stack:
50+
strategy:
51+
matrix:
52+
resolver: ['lts-18','lts-19','lts-20','lts-21','lts-22', 'lts-23', 'lts-24','nightly']
53+
runs-on: [windows-latest, macos-latest, ubuntu-latest]
54+
exclude:
55+
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
56+
resolver: 'lts-18'
57+
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
58+
resolver: 'lts-19'
59+
fail-fast: false
60+
name: Stack - ${{ matrix.runs-on }} Resolver ${{ matrix.resolver }}
61+
runs-on: ${{ matrix.runs-on }}
62+
steps:
63+
- uses: actions/checkout@v5
64+
- uses: haskell-actions/setup@v2
65+
with:
66+
enable-stack: true
67+
68+
- name: Cache dependencies
69+
uses: actions/cache@v4
70+
with:
71+
path: ~/.stack
72+
key: ${{ matrix.runs-on }}-stack-${{ matrix.resolver }}-${{ hashFiles('stack.yaml') }}
73+
restore-keys: |
74+
${{ matrix.runs-on }}-stack-${{ matrix.resolver }}-
75+
${{ matrix.runs-on }}-stack-
76+
77+
- name: Install dependencies for resolver ${{ matrix.resolver }}
78+
run: stack setup --resolver ${{ matrix.resolver }}
79+
80+
- name: Build the project with resolver ${{ matrix.resolver }}
81+
run: stack build --resolver ${{ matrix.resolver }}
82+
83+
- name: Run spec tests with resolver ${{ matrix.resolver }}
84+
run: stack test --resolver ${{ matrix.resolver }}

.github/workflows/tests.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ streaming-commons
44
Common lower-level functions needed by various streaming data libraries.
55
Intended to be shared by libraries like conduit and pipes.
66

7-
[![Build status](https://github.com/fpco/streaming-commons/actions/workflows/tests.yml/badge.svg)](https://github.com/fpco/streaming-commons/actions/workflows/tests.yml)
7+
[![Build status](https://github.com/fpco/streaming-commons/actions/workflows/ci.yml/badge.svg)](https://github.com/fpco/streaming-commons/actions/workflows/ci.yml)
88

99
Dependencies
1010
------------

0 commit comments

Comments
 (0)