From 1d23011a5ba40c9199a4d6f4a109224e87a7dbab Mon Sep 17 00:00:00 2001 From: aloucks Date: Sat, 5 Dec 2020 10:41:50 -0500 Subject: [PATCH] Add github workflows (#519) * Add github workflows * Remove .travis.yml * Reduce benchmark builds --- .github/workflows/tests.yml | 86 +++++++++++++++++++++++++++++++++++++ .travis.yml | 33 -------------- 2 files changed, 86 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/tests.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..a0f9dc5 --- /dev/null +++ b/.github/workflows/tests.yml @@ -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 }}" + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0ef33bd..0000000 --- a/.travis.yml +++ /dev/null @@ -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