Loading .travis.yml +4 −83 Original line number Diff line number Diff line language: rust sudo: required rust: stable dist: trusty env: global: - TARGET=x86_64-unknown-linux-gnu - BUILD_OPENSSL_VERSION=1.0.1u matrix: include: # osx - os: osx env: TARGET=x86_64-apple-darwin # ARM-bit version compat - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.0.2k CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.1.0f CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support # Minimum version supported - rust: 1.10.0 # beta/nightly channels - rust: beta - rust: nightly # 64-bit version compat - env: BUILD_OPENSSL_VERSION=1.0.2k - env: BUILD_OPENSSL_VERSION=1.1.0f # 32-bit version compat - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.1u addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.2k addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.1.0f addons: apt: packages: - gcc-multilib # LibreSSL - env: BUILD_LIBRESSL_VERSION=2.5.0 - env: BUILD_LIBRESSL_VERSION=2.5.4 before_install: - ./openssl/test/build.sh - rustup target add $TARGET || true script: - ./openssl/test/run.sh os: osx cache: cargo: true directories: - $HOME/libressl - $HOME/openssl script: - cargo run --manifest-path=systest/Cargo.toml - cargo test --manifest-path=openssl/Cargo.toml README.md +3 −2 Original line number Diff line number Diff line # rust-openssl [](https://travis-ci.org/sfackler/rust-openssl) [](https://circleci.com/gh/sfackler/rust-openssl) [](https://travis-ci.org/sfackler/rust-openssl) [](https://ci.appveyor.com/project/sfackler/rust-openssl/branch/master) [Documentation](https://docs.rs/openssl). Loading circle.yml 0 → 100644 +143 −0 Original line number Diff line number Diff line defaults: &DEFAULT working_directory: ~/build docker: - image: jimmycuadra/rust:1.18.0 steps: - checkout - run: apt-get update - run: apt-get install -y curl - run: RUST_VERSION=1.18.0 ./test/add_target.sh - restore_cache: key: registry - run: cargo generate-lockfile - save_cache: key: registry-{{ epoch }} paths: - ~/.cargo/registry/index - run: echo "${LIBRARY}-${VERSION}-${TARGET}" > ~/lib_key - restore_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} - run: ./test/build_openssl.sh - save_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} paths: - ~/openssl - restore_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} - run: | export OPENSSL_DIR=$HOME/openssl case "${NO_RUN}" in "1") CMD=build;; "") CMD=run;; esac cargo $CMD --manifest-path=systest/Cargo.toml --target $TARGET - run: | export OPENSSL_DIR=$HOME/openssl export PATH=$OPENSSL_DIR/bin:$PATH if [ "${NO_RUN}" = "1" ]; then TEST_ARGS=--no-run fi cargo test \ --manifest-path=openssl/Cargo.toml \ --target $TARGET \ --all-features \ $TEST_ARGS - save_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} paths: - target - ~/.cargo/registry/cache openssl_110: &OPENSSL_110 LIBRARY: openssl VERSION: 1.1.0f openssl_102: &OPENSSL_102 LIBRARY: openssl VERSION: 1.0.2l openssl_101: &OPENSSL_101 LIBRARY: openssl VERSION: 1.0.1u libressl_new: &LIBRESSL_OLD LIBRARY: libressl VERSION: 2.5.0 libressl_new: &LIBRESSL_NEW LIBRARY: libressl VERSION: 2.5.5 x86_64: &X86_64 TARGET: x86_64-unknown-linux-gnu i686: &I686 TARGET: i686-unknown-linux-gnu armhf: &ARMHF TARGET: arm-unknown-linux-gnueabihf NO_RUN: 1 CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_AR: arm-linux-gnueabihf-ar version: 2 jobs: x86_64-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *X86_64] x86_64-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *X86_64] x86_64-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *X86_64] i686-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *I686] i686-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *I686] i686-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *I686] armhf-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *ARMHF] armhf-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *ARMHF] armhf-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *ARMHF] x86_64-libressl-old: <<: *DEFAULT environment: <<: [*LIBRESSL_OLD, *X86_64] x86_64-libressl-new: <<: *DEFAULT environment: <<: [*LIBRESSL_NEW, *X86_64] workflows: version: 2 tests: jobs: - x86_64-openssl-1.1.0 - x86_64-openssl-1.0.2 - x86_64-openssl-1.0.1 - i686-openssl-1.1.0 - i686-openssl-1.0.2 - i686-openssl-1.0.1 - armhf-openssl-1.1.0 - armhf-openssl-1.0.2 - armhf-openssl-1.0.1 - x86_64-libressl-old - x86_64-libressl-new openssl/test/run.shdeleted 100755 → 0 +0 −34 Original line number Diff line number Diff line #!/bin/bash set -e case "$BUILD_OPENSSL_VERSION" in 1.0.2*) FEATURES="v102" ;; 1.1.0*) FEATURES="v110" ;; esac echo Using features: $FEATURES if [ -n "${BUILD_LIBRESSL_VERSION}" -a -d "$HOME/libressl/lib" ]; then echo "Testing build libressl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR=${HOME}/libressl export LD_LIBRARY_PATH="${HOME}/libressl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/libressl/bin:${PATH}" elif [ -n "${BUILD_OPENSSL_VERSION}" -a -d "$HOME/openssl/lib" ]; then echo "Testing build openssl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR="${HOME}/openssl" export LD_LIBRARY_PATH="${HOME}/openssl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/openssl/bin:${PATH}" fi if [ "$TARGET" == "arm-unknown-linux-gnueabihf" ]; then FLAGS="--no-run" fi cargo run --manifest-path systest/Cargo.toml --target $TARGET -v exec cargo test --manifest-path openssl/Cargo.toml --target $TARGET \ --features "$FEATURES" -v $FLAGS test/add_target.sh 0 → 100755 +32 −0 Original line number Diff line number Diff line #!/bin/bash set -e case "${TARGET}" in "x86_64-unknown-linux-gnu") exit 0 ;; "i686-unknown-linux-gnu") apt-get install -y --no-install-recommends gcc-multilib ;; "arm-unknown-linux-gnueabihf") echo "deb http://emdebian.org/tools/debian/ jessie main" \ > /etc/apt/sources.list.d/crosstools.list curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - dpkg --add-architecture armhf apt-get update apt-get install -y --no-install-recommends \ gcc-arm-linux-gnueabihf \ libc6-dev:armhf ;; esac OUT=/tmp/std.tar.gz curl -o ${OUT} https://static.rust-lang.org/dist/rust-std-${RUST_VERSION}-${TARGET}.tar.gz WORKDIR=/tmp/std mkdir -p ${WORKDIR} cd ${WORKDIR} tar --strip-components=1 -xzf ${OUT} ./install.sh Loading
.travis.yml +4 −83 Original line number Diff line number Diff line language: rust sudo: required rust: stable dist: trusty env: global: - TARGET=x86_64-unknown-linux-gnu - BUILD_OPENSSL_VERSION=1.0.1u matrix: include: # osx - os: osx env: TARGET=x86_64-apple-darwin # ARM-bit version compat - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.0.2k CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support - env: > TARGET=arm-unknown-linux-gnueabihf BUILD_OPENSSL_VERSION=1.1.0f CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf RUST_TEST_THREADS=1 addons: apt: packages: - gcc-arm-linux-gnueabihf - qemu-user-static - libc6-dev-armhf-cross - binfmt-support # Minimum version supported - rust: 1.10.0 # beta/nightly channels - rust: beta - rust: nightly # 64-bit version compat - env: BUILD_OPENSSL_VERSION=1.0.2k - env: BUILD_OPENSSL_VERSION=1.1.0f # 32-bit version compat - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.1u addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.0.2k addons: apt: packages: - gcc-multilib - env: TARGET=i686-unknown-linux-gnu BUILD_OPENSSL_VERSION=1.1.0f addons: apt: packages: - gcc-multilib # LibreSSL - env: BUILD_LIBRESSL_VERSION=2.5.0 - env: BUILD_LIBRESSL_VERSION=2.5.4 before_install: - ./openssl/test/build.sh - rustup target add $TARGET || true script: - ./openssl/test/run.sh os: osx cache: cargo: true directories: - $HOME/libressl - $HOME/openssl script: - cargo run --manifest-path=systest/Cargo.toml - cargo test --manifest-path=openssl/Cargo.toml
README.md +3 −2 Original line number Diff line number Diff line # rust-openssl [](https://travis-ci.org/sfackler/rust-openssl) [](https://circleci.com/gh/sfackler/rust-openssl) [](https://travis-ci.org/sfackler/rust-openssl) [](https://ci.appveyor.com/project/sfackler/rust-openssl/branch/master) [Documentation](https://docs.rs/openssl). Loading
circle.yml 0 → 100644 +143 −0 Original line number Diff line number Diff line defaults: &DEFAULT working_directory: ~/build docker: - image: jimmycuadra/rust:1.18.0 steps: - checkout - run: apt-get update - run: apt-get install -y curl - run: RUST_VERSION=1.18.0 ./test/add_target.sh - restore_cache: key: registry - run: cargo generate-lockfile - save_cache: key: registry-{{ epoch }} paths: - ~/.cargo/registry/index - run: echo "${LIBRARY}-${VERSION}-${TARGET}" > ~/lib_key - restore_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} - run: ./test/build_openssl.sh - save_cache: key: lib-{{ checksum "~/lib_key" }}-{{ checksum "test/build_openssl.sh"}} paths: - ~/openssl - restore_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} - run: | export OPENSSL_DIR=$HOME/openssl case "${NO_RUN}" in "1") CMD=build;; "") CMD=run;; esac cargo $CMD --manifest-path=systest/Cargo.toml --target $TARGET - run: | export OPENSSL_DIR=$HOME/openssl export PATH=$OPENSSL_DIR/bin:$PATH if [ "${NO_RUN}" = "1" ]; then TEST_ARGS=--no-run fi cargo test \ --manifest-path=openssl/Cargo.toml \ --target $TARGET \ --all-features \ $TEST_ARGS - save_cache: key: deps-1.18.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }} paths: - target - ~/.cargo/registry/cache openssl_110: &OPENSSL_110 LIBRARY: openssl VERSION: 1.1.0f openssl_102: &OPENSSL_102 LIBRARY: openssl VERSION: 1.0.2l openssl_101: &OPENSSL_101 LIBRARY: openssl VERSION: 1.0.1u libressl_new: &LIBRESSL_OLD LIBRARY: libressl VERSION: 2.5.0 libressl_new: &LIBRESSL_NEW LIBRARY: libressl VERSION: 2.5.5 x86_64: &X86_64 TARGET: x86_64-unknown-linux-gnu i686: &I686 TARGET: i686-unknown-linux-gnu armhf: &ARMHF TARGET: arm-unknown-linux-gnueabihf NO_RUN: 1 CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_AR: arm-linux-gnueabihf-ar version: 2 jobs: x86_64-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *X86_64] x86_64-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *X86_64] x86_64-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *X86_64] i686-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *I686] i686-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *I686] i686-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *I686] armhf-openssl-1.1.0: <<: *DEFAULT environment: <<: [*OPENSSL_110, *ARMHF] armhf-openssl-1.0.2: <<: *DEFAULT environment: <<: [*OPENSSL_102, *ARMHF] armhf-openssl-1.0.1: <<: *DEFAULT environment: <<: [*OPENSSL_101, *ARMHF] x86_64-libressl-old: <<: *DEFAULT environment: <<: [*LIBRESSL_OLD, *X86_64] x86_64-libressl-new: <<: *DEFAULT environment: <<: [*LIBRESSL_NEW, *X86_64] workflows: version: 2 tests: jobs: - x86_64-openssl-1.1.0 - x86_64-openssl-1.0.2 - x86_64-openssl-1.0.1 - i686-openssl-1.1.0 - i686-openssl-1.0.2 - i686-openssl-1.0.1 - armhf-openssl-1.1.0 - armhf-openssl-1.0.2 - armhf-openssl-1.0.1 - x86_64-libressl-old - x86_64-libressl-new
openssl/test/run.shdeleted 100755 → 0 +0 −34 Original line number Diff line number Diff line #!/bin/bash set -e case "$BUILD_OPENSSL_VERSION" in 1.0.2*) FEATURES="v102" ;; 1.1.0*) FEATURES="v110" ;; esac echo Using features: $FEATURES if [ -n "${BUILD_LIBRESSL_VERSION}" -a -d "$HOME/libressl/lib" ]; then echo "Testing build libressl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR=${HOME}/libressl export LD_LIBRARY_PATH="${HOME}/libressl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/libressl/bin:${PATH}" elif [ -n "${BUILD_OPENSSL_VERSION}" -a -d "$HOME/openssl/lib" ]; then echo "Testing build openssl-${BUILD_LIBRESSL_VERSION}" export OPENSSL_DIR="${HOME}/openssl" export LD_LIBRARY_PATH="${HOME}/openssl/lib:${LD_LIBRARY_PATH}" export PATH="${HOME}/openssl/bin:${PATH}" fi if [ "$TARGET" == "arm-unknown-linux-gnueabihf" ]; then FLAGS="--no-run" fi cargo run --manifest-path systest/Cargo.toml --target $TARGET -v exec cargo test --manifest-path openssl/Cargo.toml --target $TARGET \ --features "$FEATURES" -v $FLAGS
test/add_target.sh 0 → 100755 +32 −0 Original line number Diff line number Diff line #!/bin/bash set -e case "${TARGET}" in "x86_64-unknown-linux-gnu") exit 0 ;; "i686-unknown-linux-gnu") apt-get install -y --no-install-recommends gcc-multilib ;; "arm-unknown-linux-gnueabihf") echo "deb http://emdebian.org/tools/debian/ jessie main" \ > /etc/apt/sources.list.d/crosstools.list curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - dpkg --add-architecture armhf apt-get update apt-get install -y --no-install-recommends \ gcc-arm-linux-gnueabihf \ libc6-dev:armhf ;; esac OUT=/tmp/std.tar.gz curl -o ${OUT} https://static.rust-lang.org/dist/rust-std-${RUST_VERSION}-${TARGET}.tar.gz WORKDIR=/tmp/std mkdir -p ${WORKDIR} cd ${WORKDIR} tar --strip-components=1 -xzf ${OUT} ./install.sh