diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..d6571fc --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +name: Continuous integration + +env: + CARGO_TERM_COLOR: always + CARGO_INCREMENTAL: 0 + +jobs: + tests: + runs-on: ubuntu-latest + strategy: + matrix: + include: + - rust: 1.36.0 # MSRV + features: serde + - rust: stable + features: serde + - rust: stable + features: array-sizes-33-128 array-sizes-129-255 + - rust: beta + features: serde + - rust: nightly + features: serde unstable-const-fn + + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: ${{ matrix.rust }} + override: true + - name: Tests + run: | + cargo build --verbose --features "${{ matrix.features }}" + cargo doc --verbose --features "${{ matrix.features }}" + cargo test --verbose --features "${{ matrix.features }}" + cargo test --release --verbose --features "${{ matrix.features }}" + - name: Test run benchmarks + if: matrix.bench != '' + run: cargo test -v --benches + + miri: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Miri + run: ci/miri.sh + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index efec9f6..0000000 --- a/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -language: rust -sudo: false -env: - - FEATURES='serde' -matrix: - include: - - rust: 1.36.0 - env: - - FEATURES='array-sizes-33-128 array-sizes-129-255' - - rust: stable - - rust: stable - env: - - FEATURES='serde' - - rust: stable - env: - - FEATURES='array-sizes-33-128 array-sizes-129-255' - - rust: beta - - rust: nightly - - rust: nightly - env: - - FEATURES='serde' - - rust: nightly - env: - - FEATURES='array-sizes-33-128 array-sizes-129-255' - - rust: nightly - env: - - FEATURES='unstable-const-fn' - - name: "miri" - script: sh ci/miri.sh -branches: - only: - - master - - 0.4 -script: - - | - cargo build -v --no-default-features && - cargo build -v --features "$FEATURES" && - cargo test -v --features "$FEATURES" && - cargo test -v --release --features "$FEATURES" && - cargo bench -v --features "$FEATURES" --no-run && - cargo doc -v --features "$FEATURES" && - cargo build -v --manifest-path=nodrop/Cargo.toml && - cargo test -v --manifest-path=nodrop/Cargo.toml diff --git a/ci/miri.sh b/ci/miri.sh old mode 100644 new mode 100755 index 6b95c2d..272995c --- a/ci/miri.sh +++ b/ci/miri.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/bin/sh set -ex