third_party_rust_memoffset/.github/workflows/ci.yml

95 lines
2.6 KiB
YAML
Raw Permalink Normal View History

2021-07-11 12:56:00 +00:00
name: CI
on: [push, pull_request]
jobs:
test:
2021-11-12 11:05:15 +00:00
name: Test Suite
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Run cargo test
run: cargo test
test-msrv:
2021-07-11 12:56:00 +00:00
name: Test Suite
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.19.0 # Oldest supported (first version with numeric fields in struct patterns)
- 1.20.0 # Oldest supported with tuple_ty
- 1.31.0 # Oldest supported with allow(clippy)
- 1.36.0 # Oldest supported with MaybeUninit
- 1.40.0 # Oldest supported with cfg(doctest)
- 1.51.0 # Oldest supported with ptr::addr_of!
- 1.65.0 # Oldest supported with stable const evaluation (sans cell)
2021-07-11 12:56:00 +00:00
- stable
- beta
- nightly
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Run cargo test
2021-11-12 11:05:15 +00:00
# Exclude doctests here, as we don't want to clutter docs themselves
# with backwards compatibility workarounds.
run: cargo test --lib
2021-07-11 12:56:00 +00:00
nightly:
name: Test Suite (nightly features)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
- name: Run cargo test
# `--lib` prevents doctests from being run.
# This is due to `unstable_const` requiring extra `feature(...)` directives
# which the doctests do not have.
run: cargo test --all-features --lib
miri:
name: Test Suite (Miri)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
2022-03-08 18:16:23 +00:00
- name: Install Miri
run: |
rustup toolchain install nightly --component miri
rustup override set nightly
cargo miri setup
2021-07-11 12:56:00 +00:00
- name: Test with Miri
2022-03-08 18:16:23 +00:00
run: |
cargo miri test
cargo miri test --all-features
2021-07-11 12:56:00 +00:00
style:
name: lints and formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.51.0 # pin a version for reproducible results
components: rustfmt
override: true
- name: Check warnings
run: RUSTFLAGS="-D warnings" cargo check --all-targets
- name: Check formatting
run: cargo fmt -- --check