.travis.yml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. ###
  2. ### Notes
  3. ###
  4. ### The travis web interface may choke silently and fail to
  5. ### update when there are issues with the .travis.yml file.
  6. ###
  7. ### The "travis-lint" command-line tool does not catch all
  8. ### errors which may lead to silent failure.
  9. ###
  10. ### Shell-style comments in this file must have "#" as the
  11. ### *first* character of the line.
  12. ###
  13. ###
  14. ### language
  15. ###
  16. language: emacs-lisp
  17. ###
  18. ### defining the build matrix
  19. ###
  20. ### ===> <===
  21. ### ===> each variation in env/matrix will be built and tested <===
  22. ### ===> <===
  23. ###
  24. ### variables under env/global are available to the build process
  25. ### but don't cause the creation of a separate variation
  26. ###
  27. env:
  28. matrix:
  29. - EMACS=xemacs21
  30. - EMACS=emacs22
  31. - EMACS=emacs23
  32. - EMACS=emacs24
  33. - EMACS=emacs25
  34. - EMACS=emacs26
  35. - EMACS=emacs-snapshot
  36. global:
  37. - TIMEOUT=1000
  38. ###
  39. ### allowing build failures
  40. ###
  41. matrix:
  42. allow_failures:
  43. - env: EMACS=xemacs21
  44. - env: EMACS=emacs22
  45. - env: EMACS=emacs-snapshot
  46. ###
  47. ### limit build attempts to defined branches
  48. ###
  49. ### notes
  50. ###
  51. ### This controls which branches are built.
  52. ###
  53. ### You can also control which branches affect the web badge, by
  54. ### appending "?branch=master,staging,production" to the end of the
  55. ### image URL (replacing "master,staging,production" with a
  56. ### comma-separated list of branches to be reflected in the badge).
  57. ###
  58. #
  59. branches:
  60. only:
  61. - master
  62. ###
  63. ### runtime initialization
  64. ###
  65. ### notes
  66. ###
  67. ### emacs22 is extracted manually from Ubuntu Maverick.
  68. ###
  69. ### emacs23 is the stock default, but is updated anyway to
  70. ### a GUI-capable version, which will have certain additional
  71. ### functions compiled in.
  72. ###
  73. ### emacs24 (current stable release) is obtained from the
  74. ### cassou PPA: http://launchpad.net/~cassou/+archive/emacs
  75. ###
  76. ### emacs-snapshot (trunk) is obtained from the cassou PPA.
  77. ### For the emacs-snapshot build, bleeding-edge versions
  78. ### of all test dependencies are also used.
  79. ###
  80. before_install:
  81. - git submodule --quiet update --init --recursive
  82. install:
  83. # - if [ "$EMACS" = 'xemacs21' ]; then
  84. # sudo apt-get -qq update &&
  85. # sudo apt-get -qq -f install &&
  86. # sudo apt-get -qq install xemacs21-basesupport xemacs21-basesupport-el xemacs21-supportel xemacs21-support xemacs21-mulesupport-el xemacs21-mulesupport xemacs21-mule-canna-wnn xemacs21-mule-canna-wnn;
  87. # fi
  88. - if [ "$EMACS" = "emacs22" ]; then
  89. curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22_22.2-0ubuntu9_i386.deb &&
  90. curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-bin-common_22.2-0ubuntu9_i386.deb &&
  91. curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-common_22.2-0ubuntu9_all.deb &&
  92. curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-el_22.2-0ubuntu9_all.deb &&
  93. curl -Os http://security.ubuntu.com/ubuntu/pool/universe/e/emacs22/emacs22-gtk_22.2-0ubuntu9_i386.deb &&
  94. sudo apt-get -qq update &&
  95. sudo apt-get -qq remove emacs emacs23-bin-common emacs23-common emacs23-nox &&
  96. 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 &&
  97. sudo apt-get -qq -f install &&
  98. sudo dpkg -i emacs22-common_22.2-0ubuntu9_all.deb emacs22-el_22.2-0ubuntu9_all.deb &&
  99. sudo dpkg -i --force-depends emacs22-bin-common_22.2-0ubuntu9_i386.deb &&
  100. sudo dpkg -i emacs22_22.2-0ubuntu9_i386.deb emacs22-gtk_22.2-0ubuntu9_i386.deb &&
  101. sudo update-alternatives --set emacs22 /usr/bin/emacs22-gtk;
  102. fi
  103. - if [ "$EMACS" = "emacs23" ]; then
  104. sudo apt-get -qq update &&
  105. sudo apt-get -qq -f install &&
  106. sudo apt-get -qq install emacs23-gtk emacs23-el;
  107. fi
  108. - if [ "$EMACS" = "emacs24" ]; then
  109. sudo add-apt-repository -y ppa:cassou/emacs &&
  110. sudo apt-get -qq update &&
  111. sudo apt-get -qq -f install &&
  112. sudo apt-get -qq install emacs24 emacs24-el;
  113. fi
  114. - if [ "$EMACS" = "emacs25" ]; then
  115. sudo add-apt-repository -y ppa:kelleyk/emacs &&
  116. sudo apt-get -qq update &&
  117. sudo apt-get -qq -f install &&
  118. sudo apt-get -qq install emacs25;
  119. fi
  120. - if [ "$EMACS" = "emacs-snapshot" ]; then
  121. sudo add-apt-repository -y ppa:cassou/emacs &&
  122. sudo apt-get -qq update &&
  123. sudo apt-get -qq -f install &&
  124. sudo apt-get -qq install emacs-snapshot &&
  125. sudo apt-get -qq install emacs-snapshot-el emacs-snapshot-gtk;
  126. fi
  127. before_script:
  128. - if [ "$EMACS" = "emacs-snapshot" ]; then
  129. make downloads-latest;
  130. else
  131. make downloads;
  132. fi
  133. ###
  134. ### the actual build/test command
  135. ###
  136. ### (use "make test-batch" to test without byte-compiling)
  137. ###
  138. script:
  139. $EMACS --version && make test EMACS="$EMACS"
  140. ###
  141. ### settings
  142. ###
  143. notifications:
  144. email:
  145. iclcoolster@gmail.com
  146. #
  147. # Emacs
  148. #
  149. # Local Variables:
  150. # indent-tabs-mode: nil
  151. # coding: utf-8
  152. # End:
  153. #