48 lines
1.7 KiB
YAML
48 lines
1.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
schedule:
|
|
- cron: "50 6 * * *"
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
RUST_TOOLCHAIN: nightly-2023-07-01
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
build_and_test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
crypto-backend: ['rustcrypto', 'mbedtls', 'openssl']
|
|
features: ['', 'alloc', 'os']
|
|
toolchain: ['stable', 'nightly']
|
|
|
|
steps:
|
|
- name: Rust
|
|
if: matrix.toolchain == 'nightly'
|
|
uses: dtolnay/rust-toolchain@v1
|
|
with:
|
|
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
components: rustfmt, clippy, rust-src
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Fmt
|
|
run: cargo +${{ matrix.toolchain == 'nightly' && env.RUST_TOOLCHAIN || 'stable'}} fmt -- --check
|
|
|
|
- name: Clippy
|
|
run: cargo +${{ matrix.toolchain == 'nightly' && env.RUST_TOOLCHAIN || 'stable'}} clippy --no-deps --no-default-features --features ${{matrix.crypto-backend}},${{matrix.features}},${{ matrix.toolchain == 'nightly' && 'nightly' || ''}} -- -Dwarnings
|
|
|
|
- name: Build
|
|
run: cargo +${{ matrix.toolchain == 'nightly' && env.RUST_TOOLCHAIN || 'stable'}} build --no-default-features --features ${{matrix.crypto-backend}},${{matrix.features}},${{ matrix.toolchain == 'nightly' && 'nightly' || ''}}
|
|
|
|
- name: Test
|
|
if: matrix.features == 'os'
|
|
run: cargo +${{ matrix.toolchain == 'nightly' && env.RUST_TOOLCHAIN || 'stable'}} test --no-default-features --features ${{matrix.crypto-backend}},${{matrix.features}},${{ matrix.toolchain == 'nightly' && 'nightly' || ''}} -- --test-threads=1
|