Skip to content

Replace unmaintained atty crate with std::io::IsTerminal #2057

Replace unmaintained atty crate with std::io::IsTerminal

Replace unmaintained atty crate with std::io::IsTerminal #2057

Workflow file for this run

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