Skip to content

Commit

Permalink
Add github actions for CI
Browse files Browse the repository at this point in the history
- Build and test with cabal and stack for GHC 8.8.4 and 8.10.7

- update vivid to 0.5.2.0 in order to build with latest hashable. This version adds an Eq instance for SynthDef, which therefore doesn't need to be defined in this repo.
  • Loading branch information
miguel-negrao committed Jan 14, 2022
1 parent eba9d22 commit 99d9f14
Show file tree
Hide file tree
Showing 7 changed files with 108 additions and 7 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
on: [push, pull_request]
name: build
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
ghc: ['8.8.4','8.10.7']
os: [ubuntu-latest]
name: Haskell GHC ${{ matrix.ghc }}
steps:
- uses: actions/checkout@v2
- uses: haskell/actions/setup@v1.2.9
id: setup-haskell-build
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: '3.6.2.0'
enable-stack: true
stack-version: '2.7'
- name: Install dependencies
run: sudo apt-get install -y libxml2-utils libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev libpulse-dev libblas-dev liblapack-dev libasound2-dev
- name: Cabal update
run: cabal update
- name: Cache Cabal build artifacts
uses: actions/cache@v2
with:
path: |
${{ steps.setup-haskell-build.outputs.cabal-store }}
dist-newstyle
key: ${{ runner.os }}-cabal-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
restore-keys: |
${{ runner.os }}-cabal-${{ matrix.ghc }}
- name: Cabal build dependencies
run: |
cabal build all --enable-tests --only-dependencies
- name: Cabal build all
run: |
cabal build all --enable-tests
- name: Cabal test
run: |
cabal test all --enable-tests --test-show-details=Always
- name: Cache stack build artifacts
uses: freckle/stack-cache-action@v1.0.1
with:
stack-yaml: stack.yaml
- name: Stack build and test
run: |
stack build --system-ghc --test --stack-yaml stack.${{ matrix.ghc }}.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ library

build-depends:
base >= 4.7
, vivid >= 0.5
, vivid >= 0.5.2.0
, essence-of-live-coding >= 0.2.5
hs-source-dirs: src
default-language: Haskell2010
1 change: 0 additions & 1 deletion essence-of-live-coding-vivid/src/LiveCoding/Vivid.hs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ vividHandleParametrised = ParametrisedHandle { .. }
-- Synthdef or start/stop state changed, need to release and reinitialise
changeParametrised old new synth = defaultChange createParametrised destroyParametrised old new synth

deriving instance Eq (SynthDef args)
deriving instance Data SynthState
deriving instance KnownSymbol a => Data (I a)

Expand Down
4 changes: 2 additions & 2 deletions stack.8.10.3.yaml → stack.8.10.7.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: lts-17.15
resolver: lts-18.21

packages:
- essence-of-live-coding
Expand All @@ -18,7 +18,7 @@ extra-deps:
- Yampa-0.13.1@sha256:4612a2646c27bcd3ac55c90dbc34249303e28aa5b3bc3e0c6fa9ce58b889843c,5436
- http-client-0.7.8@sha256:ed76dcd7edec3aaebe012541ca0a52594405e9b21d69420d26c0223bc4d5dc82,5400
- PortMidi-0.2.0.0@sha256:0671e36ec72e95138bf396234b205864a8a6d0ee353e09e01cbfd57004c56f40,2383
- vivid-0.5.1.0@sha256:fb8b2055ed3d13e267bd2d92052e659ff1a6bc11f2d9d4a753094d35204353ec,8330
- vivid-0.5.2.0@sha256:c3b8a9994c44fe347c1ed0b0d48cd0572e71e91b793c0e2e1887afa2bb01e595,8330
- vivid-osc-0.5.0.0@sha256:633e5c1c87633feaa26019442c3ae63946001c7afe2afa4d2cf22586bd4b182c,2786
- vivid-supercollider-0.4.1.2@sha256:c7493f2a67b04589df8943e58a7445803e3365c6ad439603bf35695734b9bd65,1738

Expand Down
4 changes: 2 additions & 2 deletions stack.8.8.4.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: lts-16.23
resolver: lts-16.27

packages:
- essence-of-live-coding
Expand All @@ -16,7 +16,7 @@ packages:
extra-deps:
- Yampa-0.13.1@sha256:4612a2646c27bcd3ac55c90dbc34249303e28aa5b3bc3e0c6fa9ce58b889843c,5436
- http-client-0.7.8@sha256:ed76dcd7edec3aaebe012541ca0a52594405e9b21d69420d26c0223bc4d5dc82,5400
- vivid-0.5.1.0@sha256:fb8b2055ed3d13e267bd2d92052e659ff1a6bc11f2d9d4a753094d35204353ec,8330
- vivid-0.5.2.0@sha256:c3b8a9994c44fe347c1ed0b0d48cd0572e71e91b793c0e2e1887afa2bb01e595,8330
- vivid-osc-0.5.0.0@sha256:633e5c1c87633feaa26019442c3ae63946001c7afe2afa4d2cf22586bd4b182c,2786
- vivid-supercollider-0.4.1.2@sha256:c7493f2a67b04589df8943e58a7445803e3365c6ad439603bf35695734b9bd65,1738

Expand Down
2 changes: 1 addition & 1 deletion stack.yaml
54 changes: 54 additions & 0 deletions stack.yaml.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# This file was autogenerated by Stack.
# You should not edit this file by hand.
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files

packages:
- completed:
hackage: Yampa-0.13.1@sha256:4612a2646c27bcd3ac55c90dbc34249303e28aa5b3bc3e0c6fa9ce58b889843c,5436
pantry-tree:
size: 4039
sha256: 2ebdfafc0143a66132e1f790fc3909c93654ee89fbe468574c5c2a36070dc6b3
original:
hackage: Yampa-0.13.1@sha256:4612a2646c27bcd3ac55c90dbc34249303e28aa5b3bc3e0c6fa9ce58b889843c,5436
- completed:
hackage: http-client-0.7.8@sha256:ed76dcd7edec3aaebe012541ca0a52594405e9b21d69420d26c0223bc4d5dc82,5400
pantry-tree:
size: 2459
sha256: 76613a317255d72133176fccb5f2da9228c36bccd9d587b8a2dd3e5a6491cd48
original:
hackage: http-client-0.7.8@sha256:ed76dcd7edec3aaebe012541ca0a52594405e9b21d69420d26c0223bc4d5dc82,5400
- completed:
hackage: PortMidi-0.2.0.0@sha256:0671e36ec72e95138bf396234b205864a8a6d0ee353e09e01cbfd57004c56f40,2383
pantry-tree:
size: 1818
sha256: c9936666afc390560319024c25ecb184e2518ae4d3be5ae14081231091c1f073
original:
hackage: PortMidi-0.2.0.0@sha256:0671e36ec72e95138bf396234b205864a8a6d0ee353e09e01cbfd57004c56f40,2383
- completed:
hackage: vivid-0.5.2.0@sha256:c3b8a9994c44fe347c1ed0b0d48cd0572e71e91b793c0e2e1887afa2bb01e595,8330
pantry-tree:
size: 3767
sha256: dac5c08ce0d42214067b585df487b8b4df81dad1400382cdd257c6a6dce7c941
original:
hackage: vivid-0.5.2.0@sha256:c3b8a9994c44fe347c1ed0b0d48cd0572e71e91b793c0e2e1887afa2bb01e595,8330
- completed:
hackage: vivid-osc-0.5.0.0@sha256:633e5c1c87633feaa26019442c3ae63946001c7afe2afa4d2cf22586bd4b182c,2786
pantry-tree:
size: 261
sha256: 913a6edc636304ef5f3f92f0967b218a29fa611fdb2ba66c81a8c3b2694a3ef3
original:
hackage: vivid-osc-0.5.0.0@sha256:633e5c1c87633feaa26019442c3ae63946001c7afe2afa4d2cf22586bd4b182c,2786
- completed:
hackage: vivid-supercollider-0.4.1.2@sha256:c7493f2a67b04589df8943e58a7445803e3365c6ad439603bf35695734b9bd65,1738
pantry-tree:
size: 441
sha256: 10fc26fdd7213c555698cf6a377434f3623af1a2af208eb5c72070b5aec568ab
original:
hackage: vivid-supercollider-0.4.1.2@sha256:c7493f2a67b04589df8943e58a7445803e3365c6ad439603bf35695734b9bd65,1738
snapshots:
- completed:
size: 586110
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/21.yaml
sha256: ce4fb8d44f3c6c6032060a02e0ebb1bd29937c9a70101c1517b92a87d9515160
original: lts-18.21

0 comments on commit 99d9f14

Please sign in to comment.