Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#2120] fix TLS related errors in Travis CI #2128

Merged
merged 1 commit into from
Dec 11, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Copy link
Member

@xiongtx xiongtx Dec 14, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bbatsov Magit recently announced that it will stop supporting Emacs 24.4. Perhaps we can do that as well after the next release; the test matrix is getting rather large.

@tarsius any reason you've decided to stop supporting Emacs 24.4 recently? Emacs versions don't have a formal EOL AFAIK.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking when it comes to bugfix releases, we should have in the matrix just the most recent. The matrix is indeed pretty big already.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually I will have to do it anyway. For the upcoming release I have concentrated on doing many things that don't require major refactorings and new abstractions. After the release I will concentrate on things that are new abstractions that depend on features only available in > 25.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do older Emacs versions even get any fixes? Or is it fix-forward only? Since CIDER is an Emacs package, we should maintain support only to the extent that Emacs does, and no more.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once or twice every decade a security fix is backported. Or not - the latest fix only resulted in the release of 25.3, but I don't know if that's because 24 wasn't affected or because it is no longer supported.

- 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