-
Notifications
You must be signed in to change notification settings - Fork 28
/
.travis.yml
147 lines (130 loc) · 4.29 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
###
### 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 must have "#" as the first character
### of the line.
###
###
### language
###
# travis-lint no longer permits this value
# language: emacs-lisp
language: ruby
###
### 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:
matrix:
- EMACS=emacs22
- EMACS=emacs23
- EMACS=emacs24
- EMACS=emacs-snapshot
global:
- SOME_TOKEN=some_value
###
### allowing failures
###
matrix:
allow_failures:
- env: EMACS=emacs22
- env: EMACS=emacs-snapshot
###
### limit build attempts to defined branches
###
# 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" = 'emacs22' ]; then
curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22_22.2-0ubuntu9_i386.deb &&
curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-bin-common_22.2-0ubuntu9_i386.deb &&
curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-common_22.2-0ubuntu9_all.deb &&
curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-el_22.2-0ubuntu9_all.deb &&
curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-gtk_22.2-0ubuntu9_i386.deb &&
sudo apt-get -qq update &&
sudo apt-get -qq remove emacs emacs23-bin-common emacs23-common emacs23-nox &&
sudo apt-get -qq --fix-missing install install-info emacsen-common libjpeg62:i386 xaw3dg:i386 liblockfile1:i386 libasound2:i386 libgif4:i386 libncurses5:i386 libpng12-0:i386 libtiff4:i386 libxpm4:i386 libxft2:i386 libglib2.0-0:i386 libgtk2.0-0:i386 &&
sudo apt-get -qq -f install &&
sudo dpkg -i emacs22-common_22.2-0ubuntu9_all.deb emacs22-el_22.2-0ubuntu9_all.deb &&
sudo dpkg -i --force-depends emacs22-bin-common_22.2-0ubuntu9_i386.deb &&
sudo dpkg -i emacs22_22.2-0ubuntu9_i386.deb emacs22-gtk_22.2-0ubuntu9_i386.deb &&
sudo update-alternatives --set emacs22 /usr/bin/emacs22-gtk;
fi
- 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 [ "$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
###
script:
$EMACS --version && ( test "$EMACS" != "emacs22" && make test EMACS="$EMACS" || make test-batch EMACS="$EMACS" )
###
### settings
###
notifications:
email: false
#
# Emacs
#
# Local Variables:
# indent-tabs-mode: nil
# mangle-whitespace: t
# require-final-newline: t
# coding: utf-8
# End:
#