Replace unmaintained atty
crate with std::io::IsTerminal
#2057
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
name: CI | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
env: | |
RUST_LOG: trace | |
jobs: | |
test: | |
name: "Test" | |
strategy: | |
matrix: | |
platform: [ubuntu-latest, macos-latest, windows-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.platform }} | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r7kamura/rust-problem-matchers@v1.1.0 | |
- run: cargo --version --verbose | |
- uses: Swatinem/rust-cache@v2 | |
- name: "Check" | |
run: cargo check --all | |
- name: "Build" | |
run: cargo build --all | |
- name: "Test" | |
run: cargo test --all | |
examples: | |
name: "Examples" | |
strategy: | |
matrix: | |
platform: [ubuntu-latest, macos-latest, windows-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r7kamura/rust-problem-matchers@v1.1.0 | |
- run: cargo --version --verbose | |
- uses: Swatinem/rust-cache@v2 | |
- name: "Build examples" | |
timeout-minutes: 30 | |
run: cargo build --examples | |
- name: "Rust Dataflow example" | |
timeout-minutes: 30 | |
run: cargo run --example rust-dataflow | |
- name: "Multiple Daemons example" | |
timeout-minutes: 30 | |
run: cargo run --example multiple-daemons | |
- name: "Benchmark example" | |
timeout-minutes: 30 | |
run: cargo run --example benchmark --release | |
- name: "C Dataflow example" | |
timeout-minutes: 15 | |
run: cargo run --example c-dataflow | |
- name: "C++ Dataflow example" | |
timeout-minutes: 15 | |
run: cargo run --example cxx-dataflow | |
CLI: | |
name: "CLI Test" | |
strategy: | |
matrix: | |
platform: [ubuntu-latest, macos-latest, windows-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r7kamura/rust-problem-matchers@v1.1.0 | |
- run: cargo --version --verbose | |
- uses: Swatinem/rust-cache@v2 | |
- name: "Build cli and binaries" | |
timeout-minutes: 45 | |
# fail-fast by using bash shell explictly | |
shell: bash | |
run: | | |
cargo install --path binaries/coordinator | |
cargo install --path binaries/daemon | |
cargo install --path binaries/cli | |
- name: "Test CLI" | |
timeout-minutes: 30 | |
# fail-fast by using bash shell explictly | |
shell: bash | |
run: | | |
dora-cli up | |
dora-cli list | |
dora-cli new test_project --internal-create-with-path-dependencies | |
cd test_project | |
cargo build --all | |
dora-cli start dataflow.yml --name ci-test | |
sleep 10 | |
dora-cli stop --name ci-test | |
cd .. | |
dora-cli destroy | |
examples-remote: | |
name: "Examples (Remote)" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r7kamura/rust-problem-matchers@v1.1.0 | |
- run: cargo --version --verbose | |
- uses: Swatinem/rust-cache@v2 | |
- name: "Remote Rust Dataflow example" | |
if: false # skip this example for now until we uploaded new test nodes | |
timeout-minutes: 30 | |
run: cargo run --example rust-dataflow-url | |
clippy: | |
name: "Clippy" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r7kamura/rust-problem-matchers@v1.1.0 | |
- run: cargo --version --verbose | |
- uses: Swatinem/rust-cache@v2 | |
- name: "Clippy" | |
run: cargo clippy --all | |
- name: "Clippy (tracing feature)" | |
run: cargo clippy --all --features tracing | |
if: false # only the dora-runtime has this feature, but it is currently commented out | |
- name: "Clippy (metrics feature)" | |
run: cargo clippy --all --features metrics | |
if: false # only the dora-runtime has this feature, but it is currently commented out | |
rustfmt: | |
name: "Formatting" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r7kamura/rust-problem-matchers@v1.1.0 | |
- name: "rustfmt" | |
run: cargo fmt --all -- --check | |
check-license: | |
name: "License Checks" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r7kamura/rust-problem-matchers@v1.1.0 | |
- run: cargo --version --verbose | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo install cargo-lichking | |
- name: "Check dependency licenses" | |
run: cargo lichking check |