name: Continuous Integration
on:
pull_request:
push:
branches: [master, dev, trying, staging]
jobs:
msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get current MSRV from Cargo.toml
id: current_msrv
run: |
msrv=$(cat Cargo.toml | grep rust-version | sed 's/.* = "//; s/"//')
echo "::set-output name=msrv::$msrv"
- uses: actions-rs/toolchain@v1
id: toolchain
with:
profile: minimal
toolchain: ${{steps.current_msrv.outputs.msrv}}
override: true
- uses: Swatinem/rust-cache@v1.3.0
- run: cargo build
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
id: toolchain
with:
profile: minimal
toolchain: stable
override: true
- uses: Swatinem/rust-cache@v1.3.0
- run: cargo test
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dprint/check@v2.0
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
id: toolchain
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- uses: Swatinem/rust-cache@v1.3.0
- run: cargo clippy --all-targets -- -D warnings