Merge pull request #1079 from sfackler/new-rustc
Run most tests on a modern rust distribution
This commit is contained in:
commit
546405dc58
|
|
@ -17,8 +17,14 @@ jobs:
|
||||||
no_run:
|
no_run:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
default: 1.33.0
|
||||||
|
minimal_build:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
docker:
|
docker:
|
||||||
- image: rust:1.24.1
|
- image: rust:<< parameters.image >>
|
||||||
environment:
|
environment:
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
OPENSSL_DIR: /opt/openssl
|
OPENSSL_DIR: /opt/openssl
|
||||||
|
|
@ -50,62 +56,62 @@ jobs:
|
||||||
esac
|
esac
|
||||||
|
|
||||||
rustup target add << parameters.target >>
|
rustup target add << parameters.target >>
|
||||||
- restore_cache:
|
- unless:
|
||||||
key: openssl-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>
|
condition: << parameters.vendored >>
|
||||||
- run: |
|
steps:
|
||||||
if [ -d "$OPENSSL_DIR" ]; then
|
- restore_cache:
|
||||||
exit 0
|
key: openssl-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>
|
||||||
fi
|
- run: |
|
||||||
|
if [ -d "$OPENSSL_DIR" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
case "<< parameters.library >>" in
|
case "<< parameters.library >>" in
|
||||||
"libressl")
|
"libressl")
|
||||||
URL="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-<< parameters.version >>.tar.gz"
|
URL="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-<< parameters.version >>.tar.gz"
|
||||||
;;
|
;;
|
||||||
"openssl")
|
"openssl")
|
||||||
URL="https://openssl.org/source/openssl-<< parameters.version >>.tar.gz"
|
URL="https://openssl.org/source/openssl-<< parameters.version >>.tar.gz"
|
||||||
;;
|
;;
|
||||||
"")
|
esac
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "<< parameters.target >>" in
|
case "<< parameters.target >>" in
|
||||||
"x86_64-unknown-linux-gnu")
|
"x86_64-unknown-linux-gnu")
|
||||||
OS_COMPILER=linux-x86_64
|
OS_COMPILER=linux-x86_64
|
||||||
OS_FLAGS=""
|
OS_FLAGS=""
|
||||||
;;
|
;;
|
||||||
"i686-unknown-linux-gnu")
|
"i686-unknown-linux-gnu")
|
||||||
OS_COMPILER=linux-elf
|
OS_COMPILER=linux-elf
|
||||||
OS_FLAGS=-m32
|
OS_FLAGS=-m32
|
||||||
;;
|
;;
|
||||||
"arm-unknown-linux-gnueabihf")
|
"arm-unknown-linux-gnueabihf")
|
||||||
OS_COMPILER=linux-armv4
|
OS_COMPILER=linux-armv4
|
||||||
OS_FLAGS=""
|
OS_FLAGS=""
|
||||||
export AR=arm-linux-gnueabihf-ar
|
export AR=arm-linux-gnueabihf-ar
|
||||||
export CC=arm-linux-gnueabihf-gcc
|
export CC=arm-linux-gnueabihf-gcc
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
mkdir /tmp/build
|
mkdir /tmp/build
|
||||||
cd /tmp/build
|
cd /tmp/build
|
||||||
|
|
||||||
curl -L $URL | tar --strip-components=1 -xzf -
|
curl -L $URL | tar --strip-components=1 -xzf -
|
||||||
|
|
||||||
case "<< parameters.library >>" in
|
case "<< parameters.library >>" in
|
||||||
"openssl")
|
"openssl")
|
||||||
./Configure --prefix=$OPENSSL_DIR $OS_COMPILER -fPIC -g $OS_FLAGS no-shared
|
./Configure --prefix=$OPENSSL_DIR $OS_COMPILER -fPIC -g $OS_FLAGS no-shared
|
||||||
;;
|
;;
|
||||||
"libressl")
|
"libressl")
|
||||||
./configure --prefix=$OPENSSL_DIR --disable-shared --with-pic
|
./configure --prefix=$OPENSSL_DIR --disable-shared --with-pic
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
make
|
make
|
||||||
make install_sw
|
make install_sw
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: openssl-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>
|
key: openssl-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>
|
||||||
paths:
|
paths:
|
||||||
- /opt/openssl
|
- /opt/openssl
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
key: registry
|
key: registry
|
||||||
- run: cargo generate-lockfile
|
- run: cargo generate-lockfile
|
||||||
|
|
@ -114,12 +120,15 @@ jobs:
|
||||||
paths:
|
paths:
|
||||||
- /usr/local/cargo/registry/index
|
- /usr/local/cargo/registry/index
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
key: deps-1.24.1-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
|
key: deps-<< parameters.image >>-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
|
||||||
- run: |
|
- unless:
|
||||||
cargo run \
|
condition: << parameters.minimal_build >>
|
||||||
--manifest-path=systest/Cargo.toml \
|
steps:
|
||||||
<<# parameters.vendored >>--features vendored<</ parameters.vendored >> \
|
- run: |
|
||||||
--target << parameters.target >>
|
cargo run \
|
||||||
|
--manifest-path=systest/Cargo.toml \
|
||||||
|
<<# parameters.vendored >>--features vendored<</ parameters.vendored >> \
|
||||||
|
--target << parameters.target >>
|
||||||
- run: |
|
- run: |
|
||||||
ulimit -c unlimited
|
ulimit -c unlimited
|
||||||
export PATH=$OPENSSL_DIR/bin:$PATH
|
export PATH=$OPENSSL_DIR/bin:$PATH
|
||||||
|
|
@ -129,7 +138,7 @@ jobs:
|
||||||
--target << parameters.target >> \
|
--target << parameters.target >> \
|
||||||
<<# parameters.no_run >>--no-run<</ parameters.no_run >>
|
<<# parameters.no_run >>--no-run<</ parameters.no_run >>
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: deps-1.24.1-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
|
key: deps-<< parameters.image >>-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
|
||||||
paths:
|
paths:
|
||||||
- /usr/local/cargo/registry/cache
|
- /usr/local/cargo/registry/cache
|
||||||
- target
|
- target
|
||||||
|
|
@ -147,6 +156,9 @@ jobs:
|
||||||
vendored:
|
vendored:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
default: 1.33.0
|
||||||
macos:
|
macos:
|
||||||
xcode: "9.0"
|
xcode: "9.0"
|
||||||
environment:
|
environment:
|
||||||
|
|
@ -155,11 +167,11 @@ jobs:
|
||||||
- checkout
|
- checkout
|
||||||
- run: sudo mkdir /opt
|
- run: sudo mkdir /opt
|
||||||
- run: sudo chown -R $USER /usr/local/ /opt
|
- run: sudo chown -R $USER /usr/local/ /opt
|
||||||
- run: curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.24.1
|
- run: curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain << parameters.image >>
|
||||||
- run: sudo ln -s ~/.cargo/bin/* /usr/local/bin
|
- run: sudo ln -s ~/.cargo/bin/* /usr/local/bin
|
||||||
- run: cargo generate-lockfile
|
- run: cargo generate-lockfile
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
key: deps-1.24.1-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
|
key: deps-<< parameters.image >>-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
|
||||||
- run: |
|
- run: |
|
||||||
cargo run \
|
cargo run \
|
||||||
--manifest-path=systest/Cargo.toml \
|
--manifest-path=systest/Cargo.toml \
|
||||||
|
|
@ -170,7 +182,7 @@ jobs:
|
||||||
--manifest-path=openssl/Cargo.toml \
|
--manifest-path=openssl/Cargo.toml \
|
||||||
<<# parameters.vendored >> --features vendored <</ parameters.vendored >>
|
<<# parameters.vendored >> --features vendored <</ parameters.vendored >>
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: deps-1.24.1-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
|
key: deps-<< parameters.image >>-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
|
||||||
paths:
|
paths:
|
||||||
- ~/.cargo/registry/cache
|
- ~/.cargo/registry/cache
|
||||||
- target
|
- target
|
||||||
|
|
@ -191,6 +203,12 @@ openssl_101: &openssl_101
|
||||||
workflows:
|
workflows:
|
||||||
test:
|
test:
|
||||||
jobs:
|
jobs:
|
||||||
|
- linux:
|
||||||
|
name: mimimal-version
|
||||||
|
target: x86_64-unknown-linux-musl
|
||||||
|
vendored: true
|
||||||
|
image: 1.24.1
|
||||||
|
minimal_build: true
|
||||||
- linux:
|
- linux:
|
||||||
name: musl-vendored
|
name: musl-vendored
|
||||||
target: x86_64-unknown-linux-musl
|
target: x86_64-unknown-linux-musl
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
environment:
|
environment:
|
||||||
SSL_CERT_FILE: "C:\\OpenSSL\\cacert.pem"
|
SSL_CERT_FILE: "C:\\OpenSSL\\cacert.pem"
|
||||||
matrix:
|
matrix:
|
||||||
# 1.1.0, 64/32 bit
|
# 1.1.1, 64 bit
|
||||||
- TARGET: x86_64-pc-windows-msvc
|
- TARGET: x86_64-pc-windows-msvc
|
||||||
BITS: 64
|
BITS: 64
|
||||||
OPENSSL_VERSION: 1_1_0j
|
OPENSSL_VERSION: 1_1_1b
|
||||||
OPENSSL_DIR: C:\OpenSSL
|
OPENSSL_DIR: C:\OpenSSL
|
||||||
|
|
||||||
# 1.0.2, 64/32 bit
|
# 1.0.2, 64/32 bit
|
||||||
|
|
@ -16,6 +16,8 @@ environment:
|
||||||
BITS: 32
|
BITS: 32
|
||||||
OPENSSL_VERSION: 1_0_2r
|
OPENSSL_VERSION: 1_0_2r
|
||||||
OPENSSL_DIR: C:\OpenSSL
|
OPENSSL_DIR: C:\OpenSSL
|
||||||
|
|
||||||
|
# vcpkg
|
||||||
- TARGET: x86_64-pc-windows-msvc
|
- TARGET: x86_64-pc-windows-msvc
|
||||||
VCPKG_DEFAULT_TRIPLET: x64-windows
|
VCPKG_DEFAULT_TRIPLET: x64-windows
|
||||||
VCPKGRS_DYNAMIC: 1
|
VCPKGRS_DYNAMIC: 1
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,7 @@ due to this version mismatch.
|
||||||
}
|
}
|
||||||
|
|
||||||
// parses a string that looks like "0x100020cfL"
|
// parses a string that looks like "0x100020cfL"
|
||||||
|
#[allow(deprecated)] // trim_right_matches is now trim_end_matches
|
||||||
fn parse_version(version: &str) -> u64 {
|
fn parse_version(version: &str) -> u64 {
|
||||||
// cut off the 0x prefix
|
// cut off the 0x prefix
|
||||||
assert!(version.starts_with("0x"));
|
assert!(version.starts_with("0x"));
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ libc = "0.2"
|
||||||
openssl-sys = { path = "../openssl-sys" }
|
openssl-sys = { path = "../openssl-sys" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
ctest = "0.1"
|
ctest = "0.2"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
vendored = ['openssl-sys/vendored']
|
vendored = ['openssl-sys/vendored']
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ fn main() {
|
||||||
cfg.header("openssl/cms.h");
|
cfg.header("openssl/cms.h");
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg.type_name(|s, is_struct| {
|
cfg.type_name(|s, is_struct, _is_union| {
|
||||||
// Add some `*` on some callback parameters to get function pointer to
|
// Add some `*` on some callback parameters to get function pointer to
|
||||||
// typecheck in C, especially on MSVC.
|
// typecheck in C, especially on MSVC.
|
||||||
if s == "PasswordCallback" {
|
if s == "PasswordCallback" {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue