-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
94 lines (83 loc) · 2.84 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
dist: xenial
sudo: required
language: ruby
rvm:
- 2.6
- 2.5
- 2.4
- 2.3
- ruby-head
env:
global:
- EXPECT_GPG_VERSION="2.2"
- GPG_VERSION="latest"
- RNP_VERSION="master"
- DEPS_BUILD_DIR="${TRAVIS_BUILD_DIR}/build"
- DEPS_PREFIX="${TRAVIS_BUILD_DIR}/opt"
- BOTAN_PREFIX="${DEPS_PREFIX}/botan"
- JSONC_PREFIX="${DEPS_PREFIX}/json-c"
- RNP_PREFIX="${DEPS_PREFIX}/rnp"
- GPG_PREFIX="${DEPS_PREFIX}/gpg"
# Be aware of differences between LD_LIBRARY_PATH and LD_RUN_PATH.
# - http://osr507doc.sco.com/en/tools/ccs_linkedit_dynamic_dirsearch.html
# - https://www.hpc.dtu.dk/?page_id=1180
#
# You should be careful when attempting to replicate following in your
# setup, because setting LD_LIBRARY_PATH is often a bad idea. Nevertheless,
# it is okay here in Travis, and actually any attempt to change these led me
# to linking failures. Side note: I am not a Linux expert, and you may be
# more lucky.
#
# I'd be happy to get rid of LD_LIBRARY_PATH eventually in some future
# pull request.
- LD_LIBRARY_PATH="${BOTAN_PREFIX}/lib:${JSONC_PREFIX}/lib:${RNP_PREFIX}/lib"
- LD_RUN_PATH="${GPG_PREFIX}/lib"
- PATH="${RNP_PREFIX}/bin:${GPG_PREFIX}/bin:${PATH}"
# Many of these are supported only in few GPG components, hence bunch of
# harmless warnings typically shows up.
- >
GPG_CONFIGURE_OPTS="--disable-doc --enable-pinentry-curses
--disable-pinentry-emacs --disable-pinentry-gtk2 --disable-pinentry-gnome3
--disable-pinentry-qt --disable-pinentry-qt4 --disable-pinentry-qt5
--disable-pinentry-tqt --disable-pinentry-fltk
--prefix=${GPG_PREFIX}
--with-libgpg-error-prefix=${GPG_PREFIX}
--with-libassuan-prefix=${GPG_PREFIX}
--with-libgpg-error-prefix=${GPG_PREFIX}
--with-libgcrypt-prefix=${GPG_PREFIX}
--with-libassuan-prefix=${GPG_PREFIX}
--with-ksba-prefix=${GPG_PREFIX}
--with-npth-prefix=${GPG_PREFIX}"
before_install:
- mkdir -p ${DEPS_PREFIX}
- pushd ci/gpg
- >
./install_gpg_all.sh
--suite-version "${GPG_VERSION}"
--build-dir "${DEPS_BUILD_DIR}/gpg"
--configure-opts "${GPG_CONFIGURE_OPTS}"
--folding-style travis
- popd
- pushd ci
- ./install_botan.sh
- ./install_json_c.sh
- ./install_rnp.sh
- popd
- gem install bundler -v "~> 2.0"
before_script:
- bundle exec rake pgp_keys:generate
- bundle exec rake pgp_keys:list
script:
- bundle exec rspec --format documentation --profile 200
matrix:
include:
- env: TEST_WITHOUT_RNP="1"
- env: TEST_WITHOUT_GPGME="1"
# Test against older GPG versions
- env: GPG_VERSION="2.1" EXPECT_GPG_VERSION="2.1"
- gemfile: "ci/Mail-2.6.4.gemfile"
- gemfile: "ci/Mail-2.6.gemfile"
- gemfile: "ci/Mail-head.gemfile"
allow_failures:
- rvm: ruby-head
- gemfile: "ci/Mail-head.gemfile"