summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper Van der Jeugt <jaspervdj@gmail.com>2017-12-18 19:29:19 +0100
committerGitHub <noreply@github.com>2017-12-18 19:29:19 +0100
commit7634b44e4ad9f6a0ba77c377eb1ee43085687789 (patch)
treececb9fb9c2120c18b7856e5a851c544ec4e9ed6b
parent39b247ee9208fbbb2f183ddf5d0db98772a51b3e (diff)
downloadhakyll-7634b44e4ad9f6a0ba77c377eb1ee43085687789.tar.gz
Build on CircleCI
-rw-r--r--.circleci/config.yml25
-rwxr-xr-x.circleci/tickle.sh24
-rw-r--r--.travis.yml18
-rw-r--r--README.markdown2
-rw-r--r--hakyll.cabal128
-rw-r--r--stack.yaml1
6 files changed, 115 insertions, 83 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..8aaf463
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,25 @@
+version: 2
+jobs:
+ build:
+ docker:
+ - image: 'fpco/stack-build:latest'
+ steps:
+ - checkout
+ - restore_cache:
+ key: 'v1-hakyll-{{ arch }}-{{ .Branch }}'
+ - run:
+ name: 'Update cabal indices'
+ command: 'cabal update'
+ - run:
+ # We set jobs to 1 here because that prevents Out-Of-Memory exceptions
+ # while compiling dependencies.
+ name: 'Install dependencies'
+ command: '.circleci/tickle.sh cabal install --only-dependencies --enable-tests --jobs=1'
+ - run:
+ name: 'Build and run tests'
+ command: 'cabal test'
+ - save_cache:
+ key: 'v1-hakyll-{{ arch }}-{{ .Branch }}-{{ .Revision }}'
+ paths:
+ - '~/.cabal'
+ - '~/.ghc'
diff --git a/.circleci/tickle.sh b/.circleci/tickle.sh
new file mode 100755
index 0000000..5071bb4
--- /dev/null
+++ b/.circleci/tickle.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+set -o nounset -o errexit -o pipefail
+
+function tickle() {
+ while [ true ]; do
+ echo "[$(date +%H:%M:%S)"] Tickling...
+ sleep 60
+ done
+}
+
+echo "Forking tickle process..."
+tickle &
+TICKLE_PID=$!
+
+echo "Forking build process..."
+eval $@ &
+BUILD_PID=$!
+
+echo "Waiting for build thread ($BUILD_PID)..."
+wait $BUILD_PID
+
+echo "Killing tickle thread ($TICKLE_PID)..."
+kill $TICKLE_PID
+echo "All done!"
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 769b72c..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-language: haskell
-ghc: '8.0.2'
-sudo: false
-
-cache:
- directories:
- - '$HOME/.cabal'
- - '$HOME/.ghc'
-
-branches:
- only:
- - 'master'
-
-install:
- - travis_wait 40 cabal install --enable-tests
-
-script:
- - cabal test
diff --git a/README.markdown b/README.markdown
index 1c1d108..f870226 100644
--- a/README.markdown
+++ b/README.markdown
@@ -1,6 +1,6 @@
# hakyll
-[![Build Status](https://img.shields.io/travis/jaspervdj/hakyll.svg)](http://travis-ci.org/jaspervdj/hakyll)
+[![Build Status](https://img.shields.io/circleci/project/github/jaspervdj/hakyll.svg)](https://circleci.com/gh/jaspervdj/hakyll)
Hakyll is a static site generator library in Haskell. More information
(including a tutorial) can be found on
diff --git a/hakyll.cabal b/hakyll.cabal
index 2eaab3d..df0509f 100644
--- a/hakyll.cabal
+++ b/hakyll.cabal
@@ -153,38 +153,38 @@ Library
Paths_hakyll
Build-Depends:
- base >= 4.8 && < 5,
- binary >= 0.5 && < 0.9,
- blaze-html >= 0.5 && < 0.10,
- blaze-markup >= 0.5.1 && < 0.9,
- bytestring >= 0.9 && < 0.11,
- containers >= 0.3 && < 0.6,
- cryptohash >= 0.7 && < 0.12,
- data-default >= 0.4 && < 0.8,
- deepseq >= 1.3 && < 1.5,
- directory >= 1.0 && < 1.4,
- filepath >= 1.0 && < 1.5,
- lrucache >= 1.1.1 && < 1.3,
- mtl >= 1 && < 2.3,
- network >= 2.6 && < 2.7,
- network-uri >= 2.6 && < 2.7,
- pandoc >= 2.0.5 && < 2.1,
- pandoc-citeproc >= 0.12 && < 0.13,
- parsec >= 3.0 && < 3.2,
- process >= 1.6 && < 1.7,
- random >= 1.0 && < 1.2,
- regex-base >= 0.93 && < 0.94,
- regex-tdfa >= 1.1 && < 1.3,
- resourcet >= 1.1 && < 1.2,
- scientific >= 0.3.4 && < 0.4,
- tagsoup >= 0.13.1 && < 0.15,
- text >= 0.11 && < 1.3,
- time >= 1.8 && < 1.9,
- time-locale-compat >= 0.1 && < 0.2,
- unordered-containers >= 0.2 && < 0.3,
- vector >= 0.11 && < 0.13,
- yaml >= 0.8.11 && < 0.9,
- optparse-applicative >= 0.12 && < 0.15
+ base >= 4.8 && < 5,
+ binary >= 0.5 && < 0.9,
+ blaze-html >= 0.5 && < 0.10,
+ blaze-markup >= 0.5.1 && < 0.9,
+ bytestring >= 0.9 && < 0.11,
+ containers >= 0.3 && < 0.6,
+ cryptohash >= 0.7 && < 0.12,
+ data-default >= 0.4 && < 0.8,
+ deepseq >= 1.3 && < 1.5,
+ directory >= 1.0 && < 1.4,
+ filepath >= 1.0 && < 1.5,
+ lrucache >= 1.1.1 && < 1.3,
+ mtl >= 1 && < 2.3,
+ network >= 2.6 && < 2.7,
+ network-uri >= 2.6 && < 2.7,
+ pandoc >= 2.0.5 && < 2.1,
+ pandoc-citeproc >= 0.12.1.1 && < 0.13,
+ parsec >= 3.0 && < 3.2,
+ process >= 1.6 && < 1.7,
+ random >= 1.0 && < 1.2,
+ regex-base >= 0.93 && < 0.94,
+ regex-tdfa >= 1.1 && < 1.3,
+ resourcet >= 1.1 && < 1.2,
+ scientific >= 0.3.4 && < 0.4,
+ tagsoup >= 0.13.1 && < 0.15,
+ text >= 0.11 && < 1.3,
+ time >= 1.8 && < 1.9,
+ time-locale-compat >= 0.1 && < 0.2,
+ unordered-containers >= 0.2 && < 0.3,
+ vector >= 0.11 && < 0.13,
+ yaml >= 0.8.11 && < 0.9,
+ optparse-applicative >= 0.12 && < 0.15
If flag(previewServer)
Build-depends:
@@ -248,38 +248,38 @@ Test-suite hakyll-tests
tasty-hunit >= 0.9 && < 0.10,
tasty-quickcheck >= 0.8 && < 0.10,
-- Copy pasted from hakyll dependencies:
- base >= 4.8 && < 5,
- binary >= 0.5 && < 0.9,
- blaze-html >= 0.5 && < 0.10,
- blaze-markup >= 0.5.1 && < 0.9,
- bytestring >= 0.9 && < 0.11,
- containers >= 0.3 && < 0.6,
- cryptohash >= 0.7 && < 0.12,
- data-default >= 0.4 && < 0.8,
- deepseq >= 1.3 && < 1.5,
- directory >= 1.0 && < 1.4,
- filepath >= 1.0 && < 1.5,
- lrucache >= 1.1.1 && < 1.3,
- mtl >= 1 && < 2.3,
- network >= 2.6 && < 2.7,
- network-uri >= 2.6 && < 2.7,
- pandoc >= 2.0.5 && < 2.1,
- pandoc-citeproc >= 0.12 && < 0.13,
- parsec >= 3.0 && < 3.2,
- process >= 1.6 && < 1.7,
- random >= 1.0 && < 1.2,
- regex-base >= 0.93 && < 0.94,
- regex-tdfa >= 1.1 && < 1.3,
- resourcet >= 1.1 && < 1.2,
- scientific >= 0.3.4 && < 0.4,
- tagsoup >= 0.13.1 && < 0.15,
- text >= 0.11 && < 1.3,
- time >= 1.8 && < 1.9,
- time-locale-compat >= 0.1 && < 0.2,
- unordered-containers >= 0.2 && < 0.3,
- vector >= 0.11 && < 0.13,
- yaml >= 0.8.11 && < 0.9,
- optparse-applicative >= 0.12 && < 0.15
+ base >= 4.8 && < 5,
+ binary >= 0.5 && < 0.9,
+ blaze-html >= 0.5 && < 0.10,
+ blaze-markup >= 0.5.1 && < 0.9,
+ bytestring >= 0.9 && < 0.11,
+ containers >= 0.3 && < 0.6,
+ cryptohash >= 0.7 && < 0.12,
+ data-default >= 0.4 && < 0.8,
+ deepseq >= 1.3 && < 1.5,
+ directory >= 1.0 && < 1.4,
+ filepath >= 1.0 && < 1.5,
+ lrucache >= 1.1.1 && < 1.3,
+ mtl >= 1 && < 2.3,
+ network >= 2.6 && < 2.7,
+ network-uri >= 2.6 && < 2.7,
+ pandoc >= 2.0.5 && < 2.1,
+ pandoc-citeproc >= 0.12.1.1 && < 0.13,
+ parsec >= 3.0 && < 3.2,
+ process >= 1.6 && < 1.7,
+ random >= 1.0 && < 1.2,
+ regex-base >= 0.93 && < 0.94,
+ regex-tdfa >= 1.1 && < 1.3,
+ resourcet >= 1.1 && < 1.2,
+ scientific >= 0.3.4 && < 0.4,
+ tagsoup >= 0.13.1 && < 0.15,
+ text >= 0.11 && < 1.3,
+ time >= 1.8 && < 1.9,
+ time-locale-compat >= 0.1 && < 0.2,
+ unordered-containers >= 0.2 && < 0.3,
+ vector >= 0.11 && < 0.13,
+ yaml >= 0.8.11 && < 0.9,
+ optparse-applicative >= 0.12 && < 0.15
If flag(previewServer)
Build-depends:
diff --git a/stack.yaml b/stack.yaml
index 3e644a9..ac7a6f6 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -13,6 +13,7 @@ packages:
extra-deps:
- hslua-module-text-0.1.2
- skylighting-0.5
+ - pandoc-citeproc-0.12.1.1
nix:
enable: false