name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
jobs:
stable:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- name: Build
run: cargo build --verbose --target x86_64-unknown-linux-gnu
- name: Test
run: cargo test --verbose --target x86_64-unknown-linux-gnu
beta:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@beta
- name: Build
run: cargo build --verbose --target x86_64-unknown-linux-gnu
- name: Test
run: cargo test --verbose --target x86_64-unknown-linux-gnu
nightly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
- name: Build
run: cargo build --verbose --target x86_64-unknown-linux-gnu
- name: Test
run: cargo test --verbose --target x86_64-unknown-linux-gnu
addressSanitizer:
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Zsanitizer=address
RUSTDOCFLAGS: -Zsanitizer=address
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- name: Build
run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
- name: Test
run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
leakSanitizer:
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Zsanitizer=leak
RUSTDOCFLAGS: -Zsanitizer=leak
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- name: Build
run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
- name: Test
run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
memorySanitizer:
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Zsanitizer=memory
RUSTDOCFLAGS: -Zsanitizer=memory
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- name: Build
run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
- name: Test
run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
threadSanitizer:
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Zsanitizer=thread
RUSTDOCFLAGS: -Zsanitizer=thread
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- name: Build
run: cargo build --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
- name: Test
run: cargo test --verbose -Zbuild-std --target x86_64-unknown-linux-gnu
miri:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: miri
- name: Setup
run: cargo miri setup
- name: Test
run: cargo miri test --verbose
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@nightly
with:
components: clippy
- name: Lint
run: cargo clippy --all-targets --all-features -- -D warnings
no-std:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
targets: riscv64gc-unknown-none-elf
- name: Build
run: cargo build --verbose --no-default-features --target riscv64gc-unknown-none-elf