switch to GHA

This commit is contained in:
Ralf Jung 2021-07-11 14:56:00 +02:00
parent bbd58f2cbe
commit 0e0f8708e1
3 changed files with 66 additions and 50 deletions

66
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,66 @@
name: CI
on: [push, pull_request]
jobs:
test:
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!
- 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
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
- name: Test with Miri
run: ci/miri.sh
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

View File

@ -1,50 +0,0 @@
sudo: false
language: rust
cache:
cargo: true
matrix:
include:
- name: miri
env: TRAVIS_MIRI_JOB # make sure the cache is not shared with other "nightly" jobs
rust: nightly
script:
- sh ci/miri.sh
- rust: 1.19.0 # Oldest supported (first version with numeric fields in struct patterns)
- rust: 1.20.0 # Oldest supported with tuple_ty
- rust: 1.31.0 # Oldest supported with allow(clippy)
- rust: 1.36.0 # Oldest supported with MaybeUninit
- rust: 1.40.0 # Oldest supported with cfg(doctest)
- rust: 1.51.0 # Oldest supported with ptr::addr_of!
- rust: stable
- rust: beta
- rust: nightly
- name: all-features
rust: nightly
script:
# `--lib` added to prevent doctests from being compiled.
# This is due to `unstable_const` requiring extra `feature(...)` directives
# which the doctests do not have.
- cargo test --verbose --all-features --lib
- name: rustfmt
rust: 1.36.0
install:
- rustup component add rustfmt
script:
- cargo fmt -- --check
- name: deny-warnings
env: RUSTFLAGS="-D warnings"
rust: 1.33.0 # `stable`: Locking down for consistent behavior
script:
- cargo check --tests
install:
- rustc -Vv
- cargo -V
script:
- rm -rf target/debug/deps/*memoffset* # Avoid rustdoc problems
- cargo test --verbose

0
ci/miri.sh Normal file → Executable file
View File