Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Build and Test

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
cabal:
strategy:
matrix:
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']
runs-on: [windows-latest, macos-latest, ubuntu-latest]
exclude:
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
ghc: '8.10.7'
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
ghc: '9.0.2'
fail-fast: false
name: Cabal - ${{ matrix.runs-on }} GHC ${{ matrix.ghc }}
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v5
- uses: haskell-actions/setup@v2
with:
ghc-version: ${{ matrix.ghc }}

- name: Cache dependencies
uses: actions/cache@v4
with:
path: |
~/.cabal
dist-newstyle
key: ${{ matrix.runs-on }}-cabal-${{ matrix.ghc }}-${{ hashFiles('streaming-commons.cabal') }}
restore-keys: |
${{ matrix.runs-on }}-cabal-${{ matrix.ghc }}
${{ matrix.runs-on }}-cabal-

- name: Update Cabal package list
run: cabal v2-update --with-compiler=ghc-${{ matrix.ghc }}

- name: Build project
run: cabal v2-build --with-compiler=ghc-${{ matrix.ghc }}

- name: Run tests
run: cabal v2-test --with-compiler=ghc-${{ matrix.ghc }}

stack:
strategy:
matrix:
resolver: ['lts-18','lts-19','lts-20','lts-21','lts-22', 'lts-23', 'lts-24','nightly']
runs-on: [windows-latest, macos-latest, ubuntu-latest]
exclude:
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
resolver: 'lts-18'
- runs-on: macos-latest # requires llvm@13 but it's disabled in homebrew
resolver: 'lts-19'
fail-fast: false
name: Stack - ${{ matrix.runs-on }} Resolver ${{ matrix.resolver }}
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v5
- uses: haskell-actions/setup@v2
with:
enable-stack: true

- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.stack
key: ${{ matrix.runs-on }}-stack-${{ matrix.resolver }}-${{ hashFiles('stack.yaml') }}
restore-keys: |
${{ matrix.runs-on }}-stack-${{ matrix.resolver }}-
${{ matrix.runs-on }}-stack-

- name: Install dependencies for resolver ${{ matrix.resolver }}
run: stack setup --resolver ${{ matrix.resolver }}

- name: Build the project with resolver ${{ matrix.resolver }}
run: stack build --resolver ${{ matrix.resolver }}

- name: Run spec tests with resolver ${{ matrix.resolver }}
run: stack test --resolver ${{ matrix.resolver }}
48 changes: 0 additions & 48 deletions .github/workflows/tests.yml

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ streaming-commons
Common lower-level functions needed by various streaming data libraries.
Intended to be shared by libraries like conduit and pipes.

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

Dependencies
------------
Expand Down
Loading