Use python3 within the template to avoid python2 confusion #2052
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 | |
# Test Rust template Project | |
dora-cli new test_rust_project --internal-create-with-path-dependencies | |
cd test_rust_project | |
cargo build --all | |
dora-cli start dataflow.yml --name ci-rust-test | |
sleep 10 | |
dora-cli stop --name ci-rust-test | |
cd .. | |
# Test Python template Project | |
pip3 install maturin | |
maturin build -m apis/python/node/Cargo.toml | |
pip3 install target/wheels/* | |
dora-cli new test_python_project --lang python --internal-create-with-path-dependencies | |
cd test_python_project | |
cargo build --all | |
dora-cli start dataflow.yml --name ci-python-test | |
sleep 10 | |
dora-cli stop --name ci-python-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 |