Skip to content

v5.0.0

v5.0.0 #208

Workflow file for this run

---
name: ci
on:
pull_request:
push:
branches:
- main
release:
types:
- created
env:
# Just a reassurance to mitigate sudden network connection problems
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
# We don't need any debug symbols on ci, this also speeds up builds a bunch
RUSTFLAGS: --deny warnings -Cdebuginfo=0
RUSTDOCFLAGS: --deny warnings
jobs:
rust-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
components: rustfmt, clippy
- run: cargo clippy --workspace
- run: cargo fmt --all -- --check
rust-test:
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.toolchain != 'stable' }}
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
toolchain:
- stable
features:
- "colors"
- "threads"
- "timestamps"
- "stderr"
exclude:
- os: macos-latest
toolchain: stable
features: "timestamps"
include:
- os: ubuntu-latest
toolchain: beta
features: "colors,threads,timestamps"
- os: ubuntu-latest
toolchain: nightly
features: "colors,threads,timestamps,nightly"
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
profile: minimal
- run: cargo +${{ matrix.toolchain }} build --no-default-features --features ${{ matrix.features }}
- run: cargo +${{ matrix.toolchain }} test --no-default-features --features ${{ matrix.features }}
rust-publish-crates:
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs:
- rust-lint
- rust-test
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
- run: cargo publish --token ${{ secrets.CRATES_TOKEN }}