merge: PR #160 from ut-utp/device_adc #916
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [ push, pull_request ] | |
name: full | |
# TODO: cargo workspace builds are problematic for us since they take the union | |
# of the features for a crate from all crates in the workspace: even for leaf | |
# crates on the dependency graph (i.e. if my workspace contains A, B, and Z | |
# with Z having two incompatible features, a and b where A requires a and B | |
# requires b, when a workspace build is run Z will be built with a and b — even | |
# though A does not depend on B and vice versa). | |
# | |
# So, we should perhaps switch to having the full test just build and test each | |
# crate in the workspace separately. Or we should do away with this workflow | |
# entirely. | |
# | |
# Update this has been resolved for now, but we're playing an increasingly | |
# precarious game here.. | |
jobs: | |
check: | |
name: Check + test | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ windows-latest, ubuntu-latest, macOS-latest ] | |
rust: | |
- stable | |
- beta | |
- nightly | |
- 1.42.0 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Run cargo check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all | |
- name: Run cargo test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all --no-fail-fast | |
- name: Run cargo test in release mode | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all --no-fail-fast --release | |
lint: | |
name: Format + run clippy | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest ] | |
rust: [ stable, nightly ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.rust }} | |
override: true | |
components: rustfmt, clippy | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all -- -D warnings | |
# TODO: feature combinations (for now it's fine since we don't have any real | |
# ones). | |
# Bench, if that ever becomes necessary. | |
# TODO: it is now necessary! | |
# So, we'll have a bench thing for PRs that's just `criterion-compare-action` | |
# But then we'll also have a thing that, for each push: | |
# - runs the benchmarks/generates the reports | |
# - uses critcomp to make the json file | |
# - uploads both to the gh-pages branch under benches/<branch name>/<commit hash> | |
# + also adds the corresponding entry on the index page |