name: CI
on:
push:
branches:
- main
pull_request:
types: [opened, reopened, synchronize]
jobs:
test:
name: Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
toolchain:
- stable
- 1.74
steps:
- uses: actions/checkout@main
- name: Install ${{ matrix.toolchain }} toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
override: true
- name: Run test
uses: actions-rs/cargo@v1
with:
command: test
args: --package oram
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Install minimal stable with clippy
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
override: true
- name: Run Clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all -- -D clippy::all -D warnings
rustfmt:
name: rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Install minimal stable with rustfmt
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt
override: true
- name: Run rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
docs:
name: docs
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: -Dwarnings
strategy:
fail-fast: false
matrix:
include:
- package: oram
steps:
- uses: actions/checkout@main
- name: Install rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Run rustdoc for ${{matrix.package}}
uses: actions-rs/cargo@v1
with:
command: doc
args: --package ${{matrix.package}}