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"