name: Termion on: [push, pull_request] env: CARGO_TERM_COLOR: always jobs: test: name: test runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: build: [msrv, stable, beta, nightly, macos] include: # pinned (MSRV) rust version :: ubuntu - build: msrv os: ubuntu-18.04 rust: 1.49.0 # latest rust stable :: ubuntu - build: stable os: ubuntu-latest rust: stable # latest rust beta :: ubuntu - build: beta os: ubuntu-latest rust: beta # latest rust nightly :: ubuntu - build: nightly os: ubuntu-latest rust: nightly # latest rust stable :: mac_os - build: macos os: macOS-latest rust: stable steps: # checkout - name: checkout_repository uses: actions/checkout@v1 with: fetch-depth: 1 # install: rust - name: install_rust uses: hecrj/setup-rust-action@v1 with: rust-version: ${{ matrix.rust }} # build / doc / test - name: build_all run: cargo build --verbose --workspace --no-default-features --features=termion,macros # doesn't use --include-ignored as it was unstable in 1.49 - name: test_regular run: cargo test --workspace --verbose --no-default-features --features=termion,macros - name: test_ignored run: cargo test --workspace --verbose --no-default-features --features=termion,macros -- --ignored clippy: name: clippy runs-on: ubuntu-latest continue-on-error: true steps: - name: checkout_repo uses: actions/checkout@v2 - name: install_rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true profile: minimal components: clippy - name: check_clippy uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --no-default-features --features=termion,macros --workspace --bins --examples