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 19, 2022
1 parent eba9d22 commit 6155a35
Show file tree
Hide file tree
Showing 12 changed files with 410 additions and 26 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 }} cabal + stack
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 --project-file=cabal.project.${{ matrix.ghc }}
- name: Cabal build packages
run: |
cabal build all --enable-tests --project-file=cabal.project.${{ matrix.ghc }}
- name: Cabal test
run: |
cabal test all --enable-tests --test-show-details=Always --project-file=cabal.project.${{ matrix.ghc }}
- name: Cache stack build artifacts
uses: freckle/stack-cache-action@v1.0.1
with:
stack-yaml: stack.${{ matrix.ghc }}.yaml
- name: Stack build and test
run: |
stack build --system-ghc --test --stack-yaml stack.${{ matrix.ghc }}.yaml
1 change: 1 addition & 0 deletions cabal.project.8.10.7
75 changes: 56 additions & 19 deletions cabal.project.freeze → cabal.project.8.10.7.freeze
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
active-repositories: hackage.haskell.org:merge
constraints: any.GLURaw ==2.0.0.4,
constraints: any.GLURaw ==2.0.0.5,
GLURaw +usenativewindowslibraries,
any.GLUT ==2.7.0.16,
GLUT -buildexamples +usenativewindowslibraries,
any.HUnit ==1.6.2.0,
any.MonadRandom ==0.5.3,
any.ObjectName ==1.1.0.2,
any.Only ==0.1,
any.OpenGL ==3.0.3.0,
any.OpenGLRaw ==3.3.4.0,
any.OpenGLRaw ==3.3.4.1,
OpenGLRaw -osandroid +usegles2 +useglxgetprocaddress +usenativewindowslibraries,
any.PortMidi ==0.2.0.0,
any.QuickCheck ==2.14.2,
QuickCheck -old-random +templatehaskell,
Expand All @@ -16,7 +19,8 @@ constraints: any.GLURaw ==2.0.0.4,
any.ad ==4.5,
ad -ffi -herbie,
any.adjunctions ==4.4,
any.ansi-terminal ==0.11,
any.ansi-terminal ==0.11.1,
ansi-terminal -example,
any.ansi-wl-pprint ==0.6.9,
ansi-wl-pprint -example,
any.appar ==0.1.8,
Expand All @@ -25,13 +29,16 @@ constraints: any.GLURaw ==2.0.0.4,
any.asn1-parse ==0.9.5,
any.asn1-types ==0.3.4,
any.async ==2.2.4,
any.attoparsec ==0.13.2.5,
async -bench,
any.attoparsec ==0.14.4,
attoparsec -developer,
any.auto-update ==0.1.6,
any.base ==4.14.3.0,
any.base-orphans ==0.8.6,
any.base64-bytestring ==1.2.1.0,
any.basement ==0.0.12,
any.bifunctors ==5.5.11,
bifunctors +semigroups +tagged,
any.binary ==0.8.8.0,
any.blaze-builder ==0.4.2.2,
any.bmp ==1.2.6.3,
Expand All @@ -43,18 +50,23 @@ constraints: any.GLURaw ==2.0.0.4,
any.call-stack ==0.4.0,
any.case-insensitive ==1.2.1.0,
any.cereal ==0.5.8.2,
cereal -bytestring-builder,
any.colour ==2.3.6,
any.comonad ==5.0.8,
comonad +containers +distributive +indexed-traversable,
any.containers ==0.6.5.1,
any.contravariant ==1.5.5,
contravariant +semigroups +statevar +tagged,
any.cookie ==0.4.5,
any.cryptonite ==0.29,
cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
any.data-default-class ==0.1.2.0,
any.data-reify ==0.6.3,
data-reify -tests,
any.deepseq ==1.4.4.0,
any.directory ==1.3.6.0,
any.distributive ==0.6.2.1,
distributive +semigroups +tagged,
any.erf ==2.0.0.0,
any.exceptions ==0.10.4,
any.extensible-exceptions ==0.1.1.4,
Expand All @@ -66,30 +78,39 @@ constraints: any.GLURaw ==2.0.0.4,
any.ghc-boot-th ==8.10.7,
any.ghc-prim ==0.6.1,
any.gloss ==1.13.2.1,
gloss -glfw +glut,
any.gloss-rendering ==1.13.1.1,
any.half ==0.3.1,
any.hashable ==1.3.0.0,
any.hashable ==1.4.0.2,
hashable +containers +integer-gmp -random-initial-seed,
any.hmatrix ==0.20.2,
hmatrix -disable-default-paths -no-random_r -openblas,
any.hostname ==1.0,
any.hourglass ==0.2.12,
any.hsc2hs ==0.68.8,
hsc2hs -in-ghc-tree,
any.http-client ==0.7.9,
http-client +network-uri,
any.http-date ==0.0.11,
any.http-types ==0.12.3,
any.http2 ==3.0.2,
http2 -devel -doc -h2spec,
any.ieee754 ==0.8.0,
any.indexed-list-literals ==0.2.1.3,
any.indexed-traversable ==0.1.2,
any.integer-gmp ==1.0.3.0,
any.integer-logarithms ==1.0.3.1,
integer-logarithms -check-bounds +integer-gmp,
any.iproute ==1.7.12,
any.memory ==0.15.0,
any.memory ==0.16.0,
memory +support_basement +support_bytestring +support_deepseq +support_foundation,
any.mime-types ==0.1.0.9,
any.mmorph ==1.2.0,
any.mtl ==2.2.2,
any.nats ==1.1.2,
nats +binary +hashable +template-haskell,
any.network ==3.1.1.1,
any.network ==3.1.2.5,
network -devel,
any.network-byte-order ==0.1.6,
any.network-uri ==2.6.4.1,
any.old-locale ==1.0.0.7,
Expand All @@ -102,7 +123,7 @@ constraints: any.GLURaw ==2.0.0.4,
any.profunctors ==5.6.2,
any.psqueues ==0.2.7.3,
any.pulse-simple ==0.1.14,
any.random ==1.2.0,
any.random ==1.2.1,
any.random-shuffle ==0.0.4,
any.reflection ==2.1.6,
reflection -slow +template-haskell,
Expand All @@ -111,18 +132,25 @@ constraints: any.GLURaw ==2.0.0.4,
regex-posix -_regex-posix-clib,
any.rts ==1.0.1,
any.scientific ==0.3.7.0,
any.semigroupoids ==5.3.6,
any.semigroups ==0.19.2,
scientific -bytestring-builder -integer-simple,
any.semigroupoids ==5.3.7,
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
any.semigroups ==0.20,
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
any.simple-affine-space ==0.1.1,
simple-affine-space +test-doc-coverage +test-hlint,
any.simple-sendfile ==0.2.30,
simple-sendfile +allow-bsd,
any.split ==0.2.3.4,
any.splitmix ==0.1.0.4,
splitmix -optimised-mixer,
any.stm ==2.5.0.1,
any.storable-complex ==0.2.3.0,
any.streaming-commons ==0.2.2.2,
any.streaming-commons ==0.2.2.3,
streaming-commons -use-bytestring-builder,
any.syb ==0.7.2.1,
any.tagged ==0.8.6.1,
tagged +deepseq +transformers,
any.template-haskell ==2.16.0.0,
any.test-framework ==0.8.2.0,
any.test-framework-hunit ==0.3.0.2,
Expand All @@ -135,25 +163,34 @@ constraints: any.GLURaw ==2.0.0.4,
any.time-manager ==0.0.0,
any.transformers ==0.5.6.2,
any.transformers-base ==0.4.6,
any.transformers-compat ==0.6.6,
transformers-base +orphaninstances,
any.transformers-compat ==0.7.1,
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
any.unix ==2.7.2.2,
any.unix-compat ==0.5.3,
any.unix-compat ==0.5.4,
unix-compat -old-time,
any.unix-time ==0.4.7,
any.unliftio ==0.2.20,
any.unliftio-core ==0.2.0.1,
any.unordered-containers ==0.2.15.0,
any.unordered-containers ==0.2.16.0,
unordered-containers -debug,
any.utf8-string ==1.0.2,
any.vault ==0.3.1.5,
vault +useghc,
any.vector ==0.12.3.1,
any.vector-sized ==1.4.4,
any.vivid ==0.5.1.0,
vector +boundschecks -internalchecks -unsafechecks -wall,
any.vector-sized ==1.5.0,
any.vivid ==0.5.2.0,
any.vivid-osc ==0.5.0.0,
any.vivid-supercollider ==0.4.1.2,
any.void ==0.7.3,
void -safe,
any.wai ==3.2.3,
any.warp ==3.3.17,
any.warp ==3.3.18,
warp +allow-sendfilefd -network-bytestring -warp-debug,
any.word8 ==0.1.3,
any.x509 ==1.7.5,
any.xml ==1.3.14,
any.zlib ==0.6.2.3
index-state: hackage.haskell.org 2021-12-09T14:34:27Z
any.zlib ==0.6.2.3,
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config
index-state: hackage.haskell.org 2022-01-14T17:56:11Z
1 change: 1 addition & 0 deletions cabal.project.8.8.4
Loading

0 comments on commit 6155a35

Please sign in to comment.