137 lines
3.3 KiB
YAML
137 lines
3.3 KiB
YAML
job: &JOB
|
|
working_directory: ~/build
|
|
docker:
|
|
- image: jimmycuadra/rust:1.19.0
|
|
steps:
|
|
- checkout
|
|
- apt-get update
|
|
- run: ./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.19.0-{{ checksum "Cargo.lock" }}-{{ checksum "~/lib_key" }}
|
|
- run: |
|
|
export OPENSSL_DIR=$HOME/openssl
|
|
cargo run --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.19.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_250: &LIBRESSL_250
|
|
LIBRARY: libressl
|
|
VERSION: 2.5.0
|
|
libressl_260: &LIBRESSL_260
|
|
LIBRARY: libressl
|
|
VERSION: 2.6.0
|
|
|
|
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
|
|
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER: qemu-arm-static
|
|
|
|
base: &BASE
|
|
RUST_BACKTRACE: 1
|
|
|
|
version: 2
|
|
jobs:
|
|
x86_64-openssl-1.1.0:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_110, *X86_64, *BASE]
|
|
x86_64-openssl-1.0.2:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_102, *X86_64, *BASE]
|
|
x86_64-openssl-1.0.1:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_101, *X86_64, *BASE]
|
|
i686-openssl-1.1.0:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_110, *I686, *BASE]
|
|
i686-openssl-1.0.2:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_102, *I686, *BASE]
|
|
i686-openssl-1.0.1:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_101, *I686, *BASE]
|
|
armhf-openssl-1.1.0:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_110, *ARMHF, *BASE]
|
|
armhf-openssl-1.0.2:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_102, *ARMHF, *BASE]
|
|
armhf-openssl-1.0.1:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*OPENSSL_101, *ARMHF, *BASE]
|
|
x86_64-libressl-2.5.0:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*LIBRESSL_250, *X86_64, *BASE]
|
|
x86_64-libressl-2.6.0:
|
|
<<: *JOB
|
|
environment:
|
|
<<: [*LIBRESSL_260, *X86_64, *BASE]
|
|
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-2.5.0
|
|
- x86_64-libressl-2.6.0
|