Skip to content

Test ci

Test ci #69

Workflow file for this run

name: Build & Test
on: [push, pull_request]
env:
CARGO_TERM_COLOR: always
jobs:
test:
name: Test
strategy:
matrix:
build:
- linux
- windows
- mac
- mac-aarch64
include:
- build: linux
os: ubuntu-latest
rust: "stable"
- build: windows
os: windows-latest
rust: "stable"
- build: mac
os: macos-latest
rust: "stable"
- build: mac-aarch64
os: macos-latest
rust: "stable"
target: aarch64-apple-darwin
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- if: contains(matrix.target, 'x86')
uses: ilammy/setup-nasm@v1
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
profile: minimal
override: true
- name: Install aarch64 toolchain
if: matrix.target == 'aarch64-apple-darwin'
run: rustup target add aarch64-apple-darwin
- uses: Swatinem/rust-cache@v1
- name: Install dependencies for aws-lc-rs
shell: bash
run: |
if [ "${{ matrix.os }}" = "windows-latest" ]; then
echo 'LIBCLANG_PATH="C:\Program Files\LLVM\bin"' >> $GITHUB_ENV
echo 'AWS_LC_SYS_PREBUILT_NASM=1' >> $GITHUB_ENV
cargo install --force --locked bindgen-cli
elif [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
sudo apt-get install -y build-essential cmake golang libclang1 libclang-dev
cargo install --force --locked bindgen-cli
fi
- name: Build
if: matrix.target != 'aarch64-apple-darwin'
run: cargo build --verbose
- name: Build aarch64
if: matrix.target == 'aarch64-apple-darwin'
run: cargo build --target=aarch64-apple-darwin --verbose
- name: Tests
if: matrix.os == 'ubuntu-latest'
run: |
cargo test --verbose
bash ci/script.bash
- name: Benchmark
if: matrix.os == 'ubuntu-latest'
run: |
bash ci/benchmark.bash