forked from agda/agda-categories
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
92 lines (83 loc) · 2.78 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
language: c
branches:
only:
- master
dist: xenial
cache:
directories:
- $HOME/.cabsnap
matrix:
include:
- env:
GHC_VER=8.4.4
CABAL_VER=2.2
ALEX_VER=3.2.5
HAPPY_VER=1.19.12
STDLIB_VER=1.3
addons:
apt:
packages:
# Unfortunately we cannot use the X_VER variables here
- cabal-install-2.2
- ghc-8.4.4
sources:
- hvr-ghc
before_install:
- export PATH=/opt/ghc/$GHC_VER/bin:/opt/cabal/$CABAL_VER/bin:/opt/alex/$ALEX_VER/bin:/opt/happy/$HAPPY_VER/bin:~/.cabal/bin/:$PATH;
install:
- cabal update
- sed -i 's/^jobs:/-- jobs:/' $HOME/.cabal/config
# installing agda dev
- git clone https://github.com/agda/agda --depth=1
- cd agda
# checking whether .ghc is still valid
- cabal install alex-$ALEX_VER happy-$HAPPY_VER cpphs
- cabal install --only-dependencies --dry -v > $HOME/installplan.txt
- sed -i -e '1,/^Resolving /d' $HOME/installplan.txt; cat $HOME/installplan.txt
- touch $HOME/.cabsnap/installplan.txt
- mkdir -p $HOME/.cabsnap/ghc $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin
- if diff -u $HOME/.cabsnap/installplan.txt $HOME/installplan.txt;
then
echo "cabal build-cache HIT";
rm -rfv .ghc;
cp -a $HOME/.cabsnap/ghc $HOME/.ghc;
cp -a $HOME/.cabsnap/lib $HOME/.cabsnap/share $HOME/.cabsnap/bin $HOME/.cabal/;
else
echo "cabal build-cache MISS";
rm -rf $HOME/.cabsnap;
mkdir -p $HOME/.ghc $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin;
fi
- cabal install
- cd -
# snapshot package-db on cache miss
- echo "snapshotting package-db to build-cache";
mkdir $HOME/.cabsnap;
cp -a $HOME/.ghc $HOME/.cabsnap/ghc;
cp -a $HOME/.cabal/lib $HOME/.cabal/share $HOME/.cabal/bin $HOME/installplan.txt $HOME/.cabsnap/;
# installing agda-stdlib
- mkdir -p $HOME/.agda
- cd $HOME/.agda
- wget https://github.com/agda/agda-stdlib/archive/v$STDLIB_VER.tar.gz
- tar -xzvf v$STDLIB_VER.tar.gz
- mv agda-stdlib-$STDLIB_VER agda-stdlib
- echo "~/.agda/agda-stdlib/standard-library.agda-lib" > libraries
- cd -
script:
# generating html doc
- make html
# moving everything to the main directory
- mv html/* .
after_success:
# uploading to gh-pages
- git init
- git config --global user.name "Travis CI bot"
- git config --global user.email "[email protected]"
- git remote add upstream https://[email protected]/agda/agda-categories.git &>/dev/null
- git fetch upstream && git reset upstream/gh-pages
- git add -f \*.html \*.css
- git commit -m "Automatic HTML update via Travis"
- if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_BRANCH" = "master" ];
then git push -q upstream HEAD:gh-pages &>/dev/null;
fi
notifications:
email: false