Add github workflows (#519)

* Add github workflows

* Remove .travis.yml

* Reduce benchmark builds
This commit is contained in:
aloucks 2020-12-05 10:41:50 -05:00 committed by GitHub
parent 3bd348127c
commit 1d23011a5b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 86 additions and 33 deletions

86
.github/workflows/tests.yml vendored Normal file
View file

@ -0,0 +1,86 @@
name: tests
on:
schedule:
# build at least once per week
- cron: "0 0 * * 0"
pull_request:
push:
paths-ignore:
- "README.md"
- "CHANGELOG.md"
jobs:
# TODO: enable after running cargo fmt again
# check:
# name: Check formatting
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# override: true
# components: rustfmt
# profile: minimal
# - name: Check formatting
# uses: actions-rs/cargo@v1
# with:
# command: fmt
# args: --all -- --check
test:
name: Test
runs-on: ${{ matrix.os }}
env:
RUST_BACKTRACE: 1
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
toolchain: [stable, nightly]
features:
- ""
- "serde,mint"
steps:
- uses: actions/checkout@v2
- name: Install latest rust
uses: actions-rs/toolchain@v1
id: rust
with:
toolchain: ${{ matrix.toolchain }}
override: true
profile: minimal
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --lib --features "${{ matrix.features }}"
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --features "${{ matrix.features }}"
benchmark:
name: Benchmark
runs-on: ${{ matrix.os }}
env:
RUST_BACKTRACE: 1
strategy:
matrix:
os: [ubuntu-latest]
toolchain: [nightly]
features:
# The benchmark always needs the 'rand' feature
- "rand,serde,mint"
steps:
- uses: actions/checkout@v2
- name: Install latest rust
uses: actions-rs/toolchain@v1
id: rust
with:
toolchain: ${{ matrix.toolchain }}
override: true
profile: minimal
- name: Benchmark
uses: actions-rs/cargo@v1
with:
command: bench
args: --features "${{ matrix.features }}"

View file

@ -1,33 +0,0 @@
language: rust
rust:
- nightly
- beta
- stable
cache: cargo
env:
- CARGO_FEATURES=""
- CARGO_FEATURES="mint serde rand"
matrix:
include:
- rust: nightly
env: CARGO_FEATURES="simd"
- rust: nightly
env: CARGO_FEATURES="serde simd"
- rust: nightly-2019-01-01
# an old nightly build where "simd" still worked and "specialization"
env: CARGO_FEATURES="simd"
allow_failures:
- rust: nightly
script:
- cargo build --features "$CARGO_FEATURES"
- cargo test --features "$CARGO_FEATURES"
- |
if [[ "$TRAVIS_RUST_VERSION" == "nightly" ]]; then
# The benchmark always needs the 'rand' feature
cargo bench --features "$CARGO_FEATURES rand"
fi