From 54b5db72e0a2591a9c61aff8657d18e33ed857a4 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Thu, 5 Oct 2023 13:11:33 +0300 Subject: [PATCH] Add new workspace under staging/ subdirectory Add a new workspace for devices that have no final specification merged into the virtio spec. Closes #459 Signed-off-by: Manos Pitsidianakis --- README.md | 16 ++++++++++++++++ staging/.gitignore | 1 + staging/Cargo.toml | 3 +++ staging/README.md | 17 +++++++++++++++++ 4 files changed, 37 insertions(+) create mode 100644 staging/.gitignore create mode 100644 staging/Cargo.toml create mode 100644 staging/README.md diff --git a/README.md b/README.md index e487535..9de1b49 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,22 @@ Here is the list of device backends that we support: - [SCSI](https://github.com/rust-vmm/vhost-device/blob/main/crates/vhost-device-scsi/README.md) - [VSOCK](https://github.com/rust-vmm/vhost-device/blob/main/crates/vhost-device-vsock/README.md) +For `vhost-user` device backends that have no final specification merged into +the [VIRTIO specification](https://github.com/oasis-tcs/virtio-spec), or have partial functionality, we have a [staging +workspace](./staging/). +More information may be found in its [README file](./staging/README.md). + +Here is the list of device backends in **staging**: + +- Currently none. + + + ## Testing and Code Coverage Like the wider rust-vmm project we expect new features to come with diff --git a/staging/.gitignore b/staging/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/staging/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/staging/Cargo.toml b/staging/Cargo.toml new file mode 100644 index 0000000..226fd80 --- /dev/null +++ b/staging/Cargo.toml @@ -0,0 +1,3 @@ +[workspace] +resolver = "2" +members = [] diff --git a/staging/README.md b/staging/README.md new file mode 100644 index 0000000..3742081 --- /dev/null +++ b/staging/README.md @@ -0,0 +1,17 @@ +# vhost-device `staging` workspace + +This directory includes a separate Cargo workspace to include working vhost-user backend implementations that concern devices that have partial functionality and devices (and/or functionality) not yet ratified in the [VIRTIO specification](https://github.com/oasis-tcs/virtio-spec). +For more details about vhost-device you can refer to the repository [README](../README.md). + +To add a new member crate: + +1. Place it under this directory, [`./staging`](../staging). +2. Append its name in the `workspace.members` array field of [the workspace manifest file](./Cargo.toml). +3. Update the crate list in the repository [README](../README.md). + +## Testing and Continuous Integration + +ℹ️ **Notice** ℹ️ : The CI runs on the root workspace only. +This means that `staging` crates can have failing tests and bring down code coverage without automatic checks. +Tests can still be run locally as part of the development process. +To add a crate to the CI, add it to the root `Cargo.toml` `workspace.members` array as well as the `staging` manifest.