Commit graph

11 commits

Author SHA1 Message Date
Dorinda Bassey
fc904aca8f Revert CROSVM_USE_SYSTEM_* build and CI changes
This setup is no longer needed since:
- The current build system and GPU backend
  integration have been restructured.
- CI now works with the virglrenderer crate.
- Environment variable overrides are no
  longer necessary to avoid CI failures.

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
2025-11-13 14:48:04 +01:00
Alyssa Ross
5ac6a74e71 CI: run cargo doc
Link: https://github.com/rust-vmm/vhost-device/pull/877#issuecomment-3307110037
Signed-off-by: Alyssa Ross <hi@alyssa.is>
2025-10-01 07:32:47 +02:00
Alex Bennée
d8c09b511e buildkit: add unittests-gnu-no-defaults
We should probably defend this build mode.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2025-09-12 14:22:27 +03:00
Dorinda Bassey
1a1d1e2685 vhost-device-gpu: update rutabaga_gfx, CI and README
- Updated rutabaga_gfx to 0.1.62, which now requires env vars to
use system-provided virglrenderer and minigbm libraries for both
gfxstream and virglrenderer GPU backends.

- Updated README with new build instructions using
  CROSVM_USE_SYSTEM_* env vars.
- Update transfer_read to use the latest rutabaga_gfx changes

- The GNU CI builds and tests for vhost-device-gpu currently fail
because they try to build against the vendored virglrenderer tree.
Locally we already build with CROSVM_USE_SYSTEM_* env vars, so
mirror that setup in CI as well.

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
2025-09-02 12:09:54 +02:00
Matej Hrica
bc07d3ef7a CI: Exclude GPU from musl builds/tests
The GPU device doesn't support musl builds, because it links to many native
libraries which are compiled with glibc. vhost-device-gpu uses the virglrender and
gfxstream native libraries, which in turn require other native libraries
(libstdc++, Vulkan, OpenGL, etc.).

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-02-14 10:15:52 +02:00
Matej Hrica
02409f0a09 Move vhost-user-gpu from staging to main directory
The CLI interface should be stable now and coverage is good. Support
for more backends as described in the README is comming later.

Note that this decreases the test coverage in the staging directory from
82.43% to 74.62%.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-02-14 10:15:52 +02:00
Stefano Garzarella
83e2f3f506 buildkite: add main-tests.json
`vhost-device-gpu` has dependencies that do not work well on musl.
Also `vhost-device-gpio` has the same problem, but we merged
workarounds.

Instead of continuing to make hacks to compile empty main for these
applications. Better to have our own pipeline also for the main
workspace. In that way we can easily exclude applications (e.g. that
do not support musl) as discussed in
  https://github.com/rust-vmm/vhost-device/pull/801

The new `.buildkite/main-tests.json` file is copied from
rust-vmm-ci/.buildkite/test_description.json from commit 09aef99
("chore: update container version to v48")

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2025-02-11 19:51:01 +05:30
Matej Hrica
7488f44220 CI: do not build gpu for musl targets
Do not build the GPU device for musl targets. To compile it properly would
require setting up a build enivorment with all the native dependencies
compiled with musl as well.

Signed-off-by: Matej Hrica <mhrica@redhat.com>
2025-01-22 15:15:38 +01:00
Stefano Garzarella
323499a99b staging/tests: make the build blocking for CI
In some cases, we don't realize that changes can break crates in
`staging` because CI is not blocking.

Let's make sure that at least the build of crates in `staging` is
blocking, while the rest (clippy, coverage, musl, etc.) remain
non-blocking for CI.

Suggested-by: Erik Schilling <erik.schilling@linaro.org>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2023-12-04 10:56:28 +05:30
Stefano Garzarella
1122ba7f7f buildkite: rename custom-tests.json to staging-tests.json
Rename the file to avoid confusion and add a readme to better explain
why we want to keep it aligned with
`rust-vmm-ci/.buildkite/test_description.json`

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2023-11-27 06:05:35 +01:00
Stefano Garzarella
994ffe1864 staging: add custom pipelines to run CI tests
Let's use custom pipelines to run CI tests in the nested worskpace.

We have included all the tests we usually run in the main workspace
(rust-vmm-ci/.buildkite/test_description.json), except for "commit-format"
which also covers commits for staging crates.

Let's add a `staging\coverage_config_x86_64.json` for testing coverage of
crates in staging.

All staging tests have `soft_fail = true` to prevent failures in staging
from affecting the CI of the main workspace.

Closes #478

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
2023-10-17 16:35:55 +05:30