summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorJohn J. Camilleri <john@johnjcamilleri.com>2020-09-14 22:42:37 +0200
committerGitHub <noreply@github.com>2020-09-14 22:42:37 +0200
commit6c54e5b63cb563d780843a1970cba0718a5203f8 (patch)
treeed6777f6cb20f9212fa29ce68fac7e22745c707c /.github/workflows
parentbca0691cb028fe33ae1b77e71752d4e937490ff1 (diff)
parent8bcdeedba01847325cc89378fed114bc0561bd4d (diff)
Merge pull request #71 from anka-213/fix-newer-cabal
Fix support for newer stackage snapshots
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build-all-versions.yml95
-rw-r--r--.github/workflows/build-debian-package.yml1
2 files changed, 96 insertions, 0 deletions
diff --git a/.github/workflows/build-all-versions.yml b/.github/workflows/build-all-versions.yml
new file mode 100644
index 000000000..52db74850
--- /dev/null
+++ b/.github/workflows/build-all-versions.yml
@@ -0,0 +1,95 @@
+# Based on the template here: https://kodimensional.dev/github-actions
+name: Build with stack and cabal
+
+# Trigger the workflow on push or pull request, but only for the master branch
+on:
+ pull_request:
+ push:
+ branches: [master]
+
+jobs:
+ cabal:
+ name: ${{ matrix.os }} / ghc ${{ matrix.ghc }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macOS-latest, windows-latest]
+ cabal: ["3.2"]
+ ghc:
+ - "8.6.5"
+ - "8.8.3"
+ - "8.10.1"
+ exclude:
+ - os: macOS-latest
+ ghc: 8.8.3
+ - os: macOS-latest
+ ghc: 8.6.5
+ - os: windows-latest
+ ghc: 8.8.3
+ - os: windows-latest
+ ghc: 8.6.5
+
+ steps:
+ - uses: actions/checkout@v2
+ if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
+
+ - uses: actions/setup-haskell@v1.1.1
+ id: setup-haskell-cabal
+ name: Setup Haskell
+ with:
+ ghc-version: ${{ matrix.ghc }}
+ cabal-version: ${{ matrix.cabal }}
+
+ - name: Freeze
+ run: |
+ cabal freeze
+
+ - uses: actions/cache@v1
+ name: Cache ~/.cabal/store
+ with:
+ path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
+ key: ${{ runner.os }}-${{ matrix.ghc }}
+ # key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
+
+ - name: Build
+ run: |
+ cabal configure --enable-tests --enable-benchmarks --test-show-details=direct
+ cabal build all
+
+ # - name: Test
+ # run: |
+ # cabal test all
+
+ stack:
+ name: stack / ghc ${{ matrix.ghc }}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ stack: ["2.3.3"]
+ ghc: ["7.10.3","8.0.2", "8.2.2", "8.4.4", "8.6.5", "8.8.4"]
+ # ghc: ["8.8.3"]
+
+ steps:
+ - uses: actions/checkout@v2
+ if: github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
+
+ - uses: actions/setup-haskell@v1.1
+ name: Setup Haskell Stack
+ with:
+ # ghc-version: ${{ matrix.ghc }}
+ stack-version: ${{ matrix.stack }}
+
+ - uses: actions/cache@v1
+ name: Cache ~/.stack
+ with:
+ path: ~/.stack
+ key: ${{ runner.os }}-${{ matrix.ghc }}-stack
+
+ - name: Build
+ run: |
+ stack build --system-ghc --stack-yaml stack-ghc${{ matrix.ghc }}.yaml
+ # stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks
+
+ # - name: Test
+ # run: |
+ # stack test --system-ghc \ No newline at end of file
diff --git a/.github/workflows/build-debian-package.yml b/.github/workflows/build-debian-package.yml
index 17bbef66b..09719aaa8 100644
--- a/.github/workflows/build-debian-package.yml
+++ b/.github/workflows/build-debian-package.yml
@@ -18,6 +18,7 @@ jobs:
- name: Install build tools
run: |
+ sudo apt update
sudo apt install -y \
make \
dpkg-dev \