Repository for Orchestration framework and safe async runtime called kyron for Rust
This repository includes two GitHub Actions workflows for component integration testing:
- Schedule: Runs nightly at 1:45 UTC
- Build System: Uses Cargo for Rust components
- Testing: Executes Python test suite with pytest
- Nightly Mode: Runs tests 20 times with
--count 20 --repeat-scope sessionfor enhanced reliability testing - Triggers: Push/PR to main/development branches, and scheduled nightly runs
- Schedule: Runs nightly at 1:15 UTC
- Build System: Uses Bazel for all components
- Testing: Builds Rust test scenarios and runs Python component integration tests
- Nightly Mode: Uses
cit_repeattarget for flake detection - Triggers: Push/PR to main/development branches, and scheduled nightly runs
Monitor via the status badges above and the Actions tab
sudo apt-get update
sudo apt-get install -y curl build-essential protobuf-compiler libclang-dev git python3-dev python-is-python3 python3-venvcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -ycurl --proto '=https' -sSfOL https://github.com/bazelbuild/bazelisk/releases/download/v1.26.0/bazelisk-amd64.deb
dpkg -i bazelisk-amd64.deb
rm bazelisk-amd64.debCorrect Bazel version will be installed on first run, based on bazelversion file.
List all targets:
bazel query //...Build selected target:
bazel build <TARGET_NAME>Build all targets:
bazel build //...Please follow Where to obtain the QNX 8.0 SDP to get access to QNX8 and how to setup QNX8 for S-CORE.
In above link You will also find an instructions how to replace SDP in case You need to use other one (ie HW specific).
./scripts/build_qnx8.sh BAZEL_TARGET (default is //src/...)List all binary targets, including examples:
bazel query 'kind(rust_binary, //src/...)'Bazel is not able to distinguish between examples and regular executables.
Run selected target:
bazel run <TARGET_NAME>List all test targets:
bazel query 'kind(rust_test, //...)'Run all tests:
bazel test //...Run unit tests (tests from src/ directory):
bazel test //src/...Run selected test target:
bazel test <TARGET_NAME>Please use Bazel whenever possible. However for easy development we provide a build based on Cargo
It's recommended to use cargo xtask. It has the advantage of using separate
build directories for each task causing no need to rebuild from scratch for
different types of checks
Build using xtask - debug and release:
cargo xtask build
cargo xtask build:releaseBuild using cargo directly:
cargo buildList all examples:
cargo xtask run --exampleUsing cargo xtask:
cargo xtask run --example <EXAMPLE_NAME>Using cargo xtask:
cargo xtask build:test --lib