serai/.github/workflows/tests.yml
2022-09-17 04:40:50 -04:00

62 lines
1.5 KiB
YAML

name: Tests
on:
push:
branches:
- develop
pull_request:
jobs:
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Get nightly version to use
id: nightly
run: echo "::set-output name=version::$(cat .github/nightly-version)"
- name: Build Dependencies
uses: ./.github/actions/build-dependencies
with:
# Clippy requires nightly due to serai-runtime requiring it
rust-toolchain: ${{ steps.nightly.outputs.version }}
rust-components: clippy
- name: Run Clippy
run: cargo clippy --all-features -- -D warnings -A clippy::type_complexity -A dead_code
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Test Dependencies
uses: ./.github/actions/test-dependencies
- name: Run Tests
run: cargo test --all-features
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get nightly version to use
id: nightly
run: echo "::set-output name=version::$(cat .github/nightly-version)"
# Doesn't grab the cache as it's not needed
- name: Install rustfmt
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ steps.nightly.outputs.version }}
profile: minimal
components: rustfmt
- name: Run rustfmt
run: cargo +${{ steps.nightly.outputs.version }} fmt -- --check