Skip to content

Commit

Permalink
[clojure-emacs#2120] fix TLS related errors in Travis CI
Browse files Browse the repository at this point in the history
  • Loading branch information
gonewest818 committed Dec 11, 2017
1 parent c1a500d commit f987511
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 14 deletions.
54 changes: 40 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,54 @@
sudo: false
language: emacs-lisp

addons:
apt:
packages:
- autogen
- ca-certificates
- curl
- gcc
- libgmp-dev
- m4
- make
- pkg-config
- xz-utils

cache:
directories:
- $HOME/local

env:
- EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test
- EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test
- EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test
- EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test
- EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test-checks
- EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test
- EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-checks
global:
- PATH=$HOME/local/bin:$PATH
matrix:
- EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test
- EMACS_BINARY=emacs-24.4-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test
- EMACS_BINARY=emacs-24.5-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test
- EMACS_BINARY=emacs-25.1-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test
- EMACS_BINARY=emacs-25.2-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-25.3-travis MAKE_TEST=test
- EMACS_BINARY=emacs-25.3-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-25.3-travis MAKE_TEST=test-checks
- EMACS_BINARY=emacs-26-pretest-travis MAKE_TEST=test
- EMACS_BINARY=emacs-26-pretest-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-26-pretest-travis MAKE_TEST=test-checks
- EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test
- EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-bytecomp
- EMACS_BINARY=emacs-git-snapshot-travis MAKE_TEST=test-checks

before_script:
- sudo sh travis-ci/travis-gnutls.sh
- gnutls-cli -v
- curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > x.sh && source ./x.sh
- evm install $EMACS_BINARY --use --skip
- make elpa
script:
- emacs --version
- make $MAKE_TEST
matrix:
- env: EMACS_BINARY=emacs-git-snapshot-travis

notifications:
webhooks:
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

* [#2088](https://github.com/clojure-emacs/cider/issues/2088): Fix functions defined with `def` being font-locked as vars instead of functions.
* [#1651](https://github.com/clojure-emacs/cider/issues/1651), [cider-nrepl#445](https://github.com/clojure-emacs/cider-nrepl/pull/455): Fix `cider-expected-ns` returns `nil` on boot projects.
* [#2120](https://github.com/clojure-emacs/cider/issues/2120): Fix Travis CI build errors for emacs versions >25.2.

## 0.15.1 (2017-09-13)

Expand Down
46 changes: 46 additions & 0 deletions travis-ci/travis-gnutls.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/bin/bash

# Setup a newer gnutls-cli on Travis CI
# We need this as long as the Travis workers are Ubuntu 14.04
# and the TLS cert chain on elpa.gnu.org is out-of-order

set -x

# adjust these versions as needed
export NETTLE_VERSION=3.4
export GNUTLS_VERSION=3.5.16

export WORKDIR=${HOME}/local/
export LD_LIBRARY_PATH=${WORKDIR}/lib/
export PKG_CONFIG_PATH=${WORKDIR}/lib/pkgconfig/

# exit if the cache is valid and up-to-date
if [ -f ${WORKDIR}/bin/gnutls-cli ] && \
[ -f ${WORKDIR}/nettle-${NETTLE_VERSION}.tar.gz ] && \
[ -f ${WORKDIR}/gnutls-${GNUTLS_VERSION}.tar.xz ]
then
exit 0
fi

# delete cache and rebuild
rm -rf $WORKDIR
mkdir $WORKDIR
cd $WORKDIR
curl -O https://ftp.gnu.org/gnu/nettle/nettle-${NETTLE_VERSION}.tar.gz \
&& tar xfz nettle-${NETTLE_VERSION}.tar.gz \
&& cd nettle-${NETTLE_VERSION} \
&& ./configure --prefix=${WORKDIR} \
&& make -j4 install \
&& make distclean

cd $WORKDIR
curl -O https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-${GNUTLS_VERSION}.tar.xz \
&& xz -d -k gnutls-${GNUTLS_VERSION}.tar.xz \
&& tar xf gnutls-${GNUTLS_VERSION}.tar \
&& cd gnutls-${GNUTLS_VERSION} \
&& ./configure --prefix=${WORKDIR} \
--with-included-libtasn1 \
--with-included-unistring \
--without-p11-kit \
&& make -j4 install \
&& make distclean

0 comments on commit f987511

Please sign in to comment.