Digital Twin Graph #655
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: Rust CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
static_code_analysis: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install packages | |
run: sudo apt-get update -y && sudo apt-get install -y protobuf-compiler libsdl2-dev | |
- name: Install .NET 7.0 | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 7.0 | |
- name: Install Rust toolchain | |
uses: ./.github/actions/install-rust-toolchain | |
with: | |
components: clippy rustfmt | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- run: cargo check --workspace | |
- run: cargo clippy --all-targets --all-features --workspace --no-deps -- -D warnings | |
- run: cargo fmt --all -- --check | |
- name: Run doctest only | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --workspace --doc | |
- name: Run cargo doc | |
# This step is required to detect possible errors in docs that are not doctests. | |
uses: actions-rs/cargo@v1 | |
with: | |
command: doc | |
args: --workspace --no-deps # Warnings are treated as errors due to our .cargo/config file. | |
build_and_test: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install packages | |
run: sudo apt-get update -y && sudo apt-get install -y protobuf-compiler libsdl2-dev | |
- name: Install .NET 7.0 | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 7.0 | |
- name: Install Rust toolchain | |
uses: ./.github/actions/install-rust-toolchain | |
- name: Cache Dependencies | |
uses: Swatinem/rust-cache@v2 | |
- name: Build | |
# Build the project with the `managed_subscribe`, `digital_twin_graph` and `digital_twin_registry` features enabled. | |
run: cargo build --features "managed_subscribe,digital_twin_graph,digital_twin_registry" | |
- name: Test | |
# Test the project with the `managed_subscribe`, `digital_twin_graph` and `digital_twin_registry` features enabled. | |
run: cargo test --features "managed_subscribe,digital_twin_graph,digital_twin_registry" |