aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2019-09-17 10:01:09 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2019-09-17 10:01:09 -0700
commit369d348a9bd884b22e3be2a3d6c470668e29991d (patch)
tree159f0d608595922be7a839da3f431eb410f59a10 /.github/workflows/ci.yml
parent0360d92800bd6156013b2888c6a341c13ce8311f (diff)
downloadpandoc-369d348a9bd884b22e3be2a3d6c470668e29991d.tar.gz
Add nightly, move haskell.yml -> ci.yml.
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml114
1 files changed, 114 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 000000000..b68e3e043
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,114 @@
+name: CI tests
+
+on:
+ push:
+ paths:
+ - '*'
+ - '.github/workflows/haskell.yml'
+ - '!MANUAL.txt'
+ - '!/doc/*'
+ - '!/tools/*'
+ - '!/linux/*'
+ - '!/macos/*'
+ - '!/windows/*'
+ - '!/man/*'
+ - '!AUTHORS.md'
+ - '!BUGS'
+ - '!CONTRIBUTING.md'
+ - '!README.md'
+ - '!INSTALL.md'
+ - '!COPYRIGHT'
+ - '!COPYING.md'
+ - '!README.template'
+ - '!RELEASE_CHECKLIST'
+ - '!appveyor.yml'
+ - '!changelog'
+
+jobs:
+ linux:
+
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: true
+ matrix:
+ versions:
+ - ghc: '8.0.2'
+ cabal: '2.4'
+ - ghc: '8.2.2'
+ cabal: '2.4'
+ - ghc: '8.4.4'
+ cabal: '2.4'
+ - ghc: '8.6.5'
+ cabal: '2.4'
+# - ghc: '8.8.1'
+# cabal: '3.0'
+ steps:
+ - uses: actions/checkout@v1
+ - name: Install recent cabal/ghc
+ run: |
+ sudo add-apt-repository ppa:hvr/ghc
+ sudo apt-get update
+ sudo apt-get install ghc-${{ matrix.versions.ghc }} cabal-install-${{ matrix.versions.cabal }}
+ - name: Install dependencies
+ run: |
+ export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH
+ cabal v2-update
+ cabal v2-build --dependencies-only --enable-tests --disable-optimization
+ - name: Build and test
+ run: |
+ export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH
+ cabal v2-install --enable-tests --run-tests --disable-optimization 2>&1 | tee build.log
+ # fail if warnings in local build
+ ! grep -q "[Ww]arning:" build.log
+
+# ARTIFACTS: Currently disabled. The executables are large and
+# if we do produce artifacts, we should zip them. We also
+# might consider doing this only nightly and stripping.
+# The code is included below in case we want to re-enable it.
+#
+# - name: Install artifact
+# run: |
+# export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH
+# mkdir -p ./artifacts
+# for f in $(find dist-newstyle -name 'pandoc*' -type f -executable); do cp $f ./artifacts/; done
+# - uses: actions/upload-artifact@master
+# with:
+# name: pandoc-linux
+# path: ./artifacts/pandoc
+
+ windows:
+
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v1
+ - name: Install stack
+ shell: cmd
+ run: |
+ choco install haskell-stack
+ - name: Install dependencies
+ run: |
+ stack update
+ stack test --dependencies-only --fast
+ - name: Build and test
+ shell: cmd
+ run: |
+ stack test --fast
+
+ macos:
+
+ runs-on: macOS-latest
+
+ steps:
+ - uses: actions/checkout@v1
+ - name: Install stack
+ run: |
+ curl -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz -o stack.tar.gz
+ tar xzvf stack.tar.gz --strip-components=1 'stack*/stack'
+ - name: Install dependencies
+ run: |
+ ./stack update
+ ./stack test --dependencies-only --fast
+ - name: Build and test
+ run: |
+ ./stack test --fast