-
Notifications
You must be signed in to change notification settings - Fork 14
/
.travis.yml
158 lines (142 loc) · 4.03 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
###
### Notes
###
### The travis web interface may choke silently and fail to
### update when there are issues with the .travis.yml file.
###
### The "travis-lint" command-line tool does not catch all
### errors which may lead to silent failure.
###
### Shell-style comments in this file must have "#" as the
### *first* character of the line.
###
###
### language
###
language: emacs-lisp
###
### defining the build matrix
###
### ===> <===
### ===> each variation in env/matrix will be built and tested <===
### ===> <===
###
### variables under env/global are available to the build process
### but don't cause the creation of a separate variation
###
env:
- EMACS=emacs-23.4-bin METHOD=evm
- EMACS=emacs-24.1-bin METHOD=evm
- EMACS=emacs-24.2-bin METHOD=evm
# - EMACS=emacs-24.2 METHOD=evm
- EMACS=emacs-24.3-bin METHOD=evm
- EMACS=emacs24 METHOD=manual
- EMACS=emacs-snapshot METHOD=manual
# matrix:
# global:
# - METHOD=manual
###
### allowing build failures
###
matrix:
fast_finish: true
###
### limit build attempts to defined branches
###
### notes
###
### This controls which branches are built.
###
### You can also control which branches affect the web badge, by
### appending "?branch=master,staging,production" to the end of the
### image URL (replacing "master,staging,production" with a
### comma-separated list of branches to be reflected in the badge).
###
#
# branches:
# only:
# - master
#
###
### runtime initialization
###
### notes
###
### emacs22 is extracted manually from Ubuntu Maverick.
###
### emacs23 is the stock default, but is updated anyway to
### a GUI-capable version, which will have certain additional
### functions compiled in.
###
### emacs24 (current stable release) is obtained from the
### cassou PPA: http://launchpad.net/~cassou/+archive/emacs
###
### emacs-snapshot (trunk) is obtained from the Ubuntu Emacs Lisp PPA:
### https://launchpad.net/~ubuntu-elisp/+archive/ppa
### For the emacs-snapshot build, bleeding-edge versions
### of all test dependencies are also used.
###
before_install:
- git submodule --quiet update --init --recursive
install:
- if [ "$EMACS" = 'emacs23' ]; then
sudo apt-get -qq update &&
sudo apt-get -qq -f install &&
sudo apt-get -qq install emacs23-gtk emacs23-el;
fi
- if [ "$METHOD" = 'evm' ]; then
sudo mkdir /usr/local/evm &&
sudo chown travis:travis /usr/local/evm &&
sudo add-apt-repository -y ppa:cassou/emacs &&
sudo apt-get update -qq &&
sudo apt-get build-dep -qq emacs23 &&
sudo apt-get build-dep -qq emacs24 &&
curl -fsSkL https://raw.github.com/rejeep/evm/master/go | bash &&
export PATH="~/.evm/bin:$PATH" &&
chmod +x ~/.evm/bin/evm &&
~/.evm/bin/evm install $EMACS &&
~/.evm/bin/evm use $EMACS &&
FULL_EMACS_PATH="/usr/local/evm/$EMACS/bin/emacs" &&
export EMACS="$FULL_EMACS_PATH" &&
EMACS="$FULL_EMACS_PATH";
fi
- if [ "$EMACS" = 'emacs24' ]; then
sudo add-apt-repository -y ppa:cassou/emacs &&
sudo apt-get -qq update &&
sudo apt-get -qq -f install &&
sudo apt-get -qq install emacs24 emacs24-el;
fi
- if [ "$EMACS" = 'emacs-snapshot' ]; then
sudo add-apt-repository -y ppa:ubuntu-elisp/ppa &&
sudo apt-get -qq update &&
sudo apt-get -qq -f install &&
sudo apt-get -qq install emacs-snapshot &&
sudo apt-get -qq install emacs-snapshot-el;
fi
before_script:
- if [ "$EMACS" = 'emacs-snapshot' ]; then
make downloads-latest;
else
make downloads;
fi
###
### the actual build/test command
###
### Use "make test-batch" to test without byte-compiling.
### The default command avoids byte-compiling on Emacs 22.
###
script:
echo "Method is $METHOD" && $EMACS --version && make test EMACS="$EMACS"
###
### settings
###
notifications:
email: false
#
# Emacs
#
# Local Variables:
# indent-tabs-mode: nil
# coding: utf-8
# End:
#