git.iko.soy/typeable/servant-reflex
on master help sign in
Merge pull request #69 from srhb/nixify-ci

Nixify ci

commit990660bdb374d36f1caf0913966d2d1a802eb812 authorGreg Hale <ImAlsoGreg@gmail.com> dateSat 15 Sep 2018, 16:10 (8 years ago) parentec87233fbf5e3e
5 files changed+35−61
.travis.yml+9−57 build.sh−3 deps/reflex-platform+1−1 nix/nix.conf+2 travis.nix+23
.travis.yml+9−57
@@ -1,61 +1,13 @@
1−sudo: required
2−
3−before_cache:
4− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
5− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
6−
7−addons:
8− apt:
9− - phantomjs
10−
11−matrix:
12− include:
13− - env: CABALVER=1.24 GHCVER=7.10.3
14− compiler: ": #GHC 7.10.3"
15− addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.3], sources: [hvr-ghc]}}
16− - env: CABALVER=1.24 GHCVER=8.0.1
17− compiler: ": #GHC 8.0.1"
18− addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1], sources: [hvr-ghc]}}
19−
20−
21−
22−before_install:
23− - unset CC
24− - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
25− - git submodule update --init --recursive
1+language: nix
2+nix: 2.1.1
3+sudo: require
264
275install:
28− - cabal --version
29− - BENCH=${BENCH---enable-benchmarks}
30− - TEST=${TEST---enable-tests}
31− - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
32− - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
33− then
34− zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
35− $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
36− fi
37− - travis_retry cabal update -v
38− - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
39− - deps/reflex-platform/work-on ./overrides-ghc.nix ./testserver --command "cd testserver && cabal configure -fExample && cabal build"
40− - deps/reflex-platform/work-on ghc ./testdriver --command "cd testdriver && cabal configure && cabal build"
41− - cd testserver && dist/build/back/back -p 8000 &
42− - sleep 3
43− - phantomjs --webdriver=127.0.0.1:4444 &
44− - sleep 3
45−
46−script:
47− - git config --global user.email "travis-ci@example.com"
48− - git config --global user.name "Travis-CI"
49− - ./build.sh
50− # - testdriver/dist/build/spec/spec
6+ - sudo cp -rT $TRAVIS_BUILD_DIR/nix /etc/nix
517
52−cache:
53− directories:
54− - /nix
55− - $HOME/.cabal/packages
56− - $HOME/.cabal/store
8+before_script:
9+ - git config --global user.email "travis-ci@example.com"
10+ - git config --global user.name "Travis-CI"
5711
58−env:
59− global:
60− - ENCRYPTION_LABEL: "3c89d919c82e"
61− - COMMIT_AUTHOR_EMAIL: "imalsogreg@gmail.com"
12+script:
13+ - nix-build travis.nix -A example
build.shdeleted−3
@@ -1,3 +0,0 @@
1−#!/usr/bin/env bash
2−
3−deps/reflex-platform/work-on ./overrides.nix ./. --run "cabal configure --ghcjs -f Example && cabal build && exec/toSite.sh"
deps/reflex-platform+1−1

Submodule changed.

nix/nix.confnew file+2
@@ -0,0 +1,2 @@
1+substituters = https://cache.nixos.org https://nixcache.reflex-frp.org
2+trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ryantrinkle.com-1:JJiAKaRv9mWgpVAz8dwewnZe0AzzEAzPkagE9SP5NWI=
travis.nixnew file+23
@@ -0,0 +1,23 @@
1+let
2+ reflex-platform = import ./deps/reflex-platform { };
3+ pkgs = reflex-platform.nixpkgs;
4+ ghcjs = reflex-platform.ghcjs;
5+in
6+ rec {
7+ build = ghcjs.callCabal2nix "servant-reflex" ./. {};
8+ example = pkgs.haskell.lib.appendConfigureFlag build "-f Example";
9+ cabalBuild = ghcjs.shellFor {
10+ name = "servant-reflex-cabal-builder";
11+
12+ packages = p: [
13+ build
14+ ];
15+
16+ shellHook = ''
17+ cabal configure --ghcjs -f Example
18+ cabal build
19+ exec/toSite.sh
20+ exit $?
21+ '';
22+ };
23+ }