Skip to content

Support cryptography module #161

Support cryptography module

Support cryptography module #161

Workflow file for this run

name: Rust
on:
push:
branches: [ "main" ]
paths-ignore:
- "docs/**/*"
- ".github/workflows/website.yml"
pull_request:
branches: [ "main" ]
paths-ignore:
- "docs/**/*"
- ".github/workflows/website.yml"
env:
CARGO_TERM_COLOR: always
TONGSUO_VERSION: 8.4.0
jobs:
unix-default-test:
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v3
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
macos-tongsuo-test:
strategy:
matrix:
os:
- macos-latest
runs-on: ${{matrix.os}}
steps:
- name: Build Tongsuo
run: |
wget "https://github.com/Tongsuo-Project/Tongsuo/archive/refs/tags/${TONGSUO_VERSION}.tar.gz"
tar zxf "${TONGSUO_VERSION}.tar.gz"
pushd "Tongsuo-${TONGSUO_VERSION}"
./config --prefix=${RUNNER_TEMP}/tongsuo
make -j4
make install
popd
- uses: actions/checkout@v3
- name: Build
run : |
OPENSSL_DIR=${RUNNER_TEMP}/tongsuo DEP_OPENSSL_TONGSUO=1 cargo build --verbose --features crypto_adaptor_tongsuo --no-default-features --config 'patch.crates-io.openssl.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"' --config 'patch.crates-io.openssl-sys.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"'
- name: Run tests
run : |
OPENSSL_DIR=${RUNNER_TEMP}/tongsuo DEP_OPENSSL_TONGSUO=1 cargo test --verbose --features crypto_adaptor_tongsuo --no-default-features --config 'patch.crates-io.openssl.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"' --config 'patch.crates-io.openssl-sys.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"'
unix-tongsuo-test:
strategy:
matrix:
os:
- ubuntu-latest
runs-on: ${{matrix.os}}
steps:
- name: Build Tongsuo
run: |
wget "https://github.com/Tongsuo-Project/Tongsuo/archive/refs/tags/${TONGSUO_VERSION}.tar.gz"
tar zxf "${TONGSUO_VERSION}.tar.gz"
pushd "Tongsuo-${TONGSUO_VERSION}"
./config --prefix=${RUNNER_TEMP}/tongsuo --libdir=${RUNNER_TEMP}/tongsuo/lib
make -j4
make install
popd
- uses: actions/checkout@v3
- name: Build
run : |
OPENSSL_DIR=${RUNNER_TEMP}/tongsuo DEP_OPENSSL_TONGSUO=1 cargo build --verbose --features crypto_adaptor_tongsuo --no-default-features --config 'patch.crates-io.openssl.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"' --config 'patch.crates-io.openssl-sys.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"'
- name: Run tests
run : |
OPENSSL_DIR=${RUNNER_TEMP}/tongsuo DEP_OPENSSL_TONGSUO=1 RUSTFLAGS="-C link-args=-Wl,-rpath,${RUNNER_TEMP}/tongsuo/lib" cargo test --verbose --features crypto_adaptor_tongsuo --no-default-features --config 'patch.crates-io.openssl.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"' --config 'patch.crates-io.openssl-sys.git="https://github.com/Tongsuo-Project/rust-tongsuo.git"'
unix-mysql-test:
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v3
- uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: "5.7"
root-password: "password"
my-cnf: |
skip-ssl
port=3306
- name: install diesel_cli
run: cargo install diesel_cli --no-default-features --features mysql
- name: init database
run: diesel setup --database-url mysql://root:[email protected]:3306/vault
- name: Build
run: cargo build --features storage_mysql --verbose
- name: Run tests
run: cargo test --verbose
- name: Build crate doc
run: cargo doc --no-deps
windows-default-test:
strategy:
matrix:
os:
- windows-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v3
- run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: install openssl
run: vcpkg install openssl:x64-windows-static-md
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
windows-mysql-test:
strategy:
matrix:
os:
- windows-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v3
- run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: install openssl
run: vcpkg install openssl:x64-windows-static-md
- name: Download MySQL Connector/C
run: |
Invoke-WebRequest -Uri "https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.11-winx64.msi" -OutFile "mysql-connector.msi"
- name: Install MySQL Connector/C
run: |
Start-Process msiexec.exe -ArgumentList '/i', 'mysql-connector.msi', '/quiet', '/norestart' -NoNewWindow -Wait
- name: Set MySQLCLIENT_LIB_DIR
run: echo "MYSQLCLIENT_LIB_DIR=C:\Program Files\MySQL\MySQL Connector C 6.1\lib\vs14" | Out-File -FilePath $env:GITHUB_ENV -Append
- uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: "5.7"
root-password: "password"
my-cnf: |
skip-ssl
port=3306
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: install diesel_cli
run: cargo install diesel_cli --no-default-features --features mysql --features crypto_adaptor_openssl
- name: init database
run: diesel setup --database-url mysql://root:[email protected]:3306/vault
- name: Build
run: cargo build --features storage_mysql --verbose
- name: Run tests
run: cargo test --verbose
- name: Build crate doc
run: cargo doc --no-deps