Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run Linux & Windows screenshot tests via lavapipe software rasterizer #8620

Merged
merged 45 commits into from
Jan 10, 2025

Conversation

Wumpf
Copy link
Member

@Wumpf Wumpf commented Jan 8, 2025

Related

What

Enables screenshot tests on Linux & Windows ci using Mesa lavapipe (the Vulkan version of llvmpipe) software rasterizer.
Uses wgpu's Mesa build https://github.com/gfx-rs/ci-build (thanks @cwfitzgerald!)

ICD driver file discovery & how to best download the Vulkan SDK was giving me a bit of a headache (via apt as done on wgpu's ci was very slow for some reason and wgpu only does GL software rasterizing on Windows). But it's all figured out now & documented in the setup script :). The process can be replicated locally the same way, but has a bit of "you better know what you're doing" to it as the driver setup is a little bit invasive to account for elevated user access ([...] see comments).

Changes to our CI pipelines overall:

  • PR CI: still runs Rust tests only on Linux now, but now only --all-targets --all-features instead of both that and with just --all-targets
  • Main CI: Runs now cargo test --all-targets --all-features not only on Mac but also on Windows
  • Nightly CI: Runs now pixi run rs-check not only on Linux but also on Windows & Mac

  • passes Main CI

@Wumpf Wumpf added 🔨 testing testing and benchmarks 🪟 windows Problems specific to the Windows OS 🐧 linux Linux-specific problems exclude from changelog PRs with this won't show up in CHANGELOG.md labels Jan 8, 2025
Copy link

github-actions bot commented Jan 8, 2025

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
bd996a0 https://rerun.io/viewer/pr/8620 +nightly +main

Note: This comment is updated whenever you push a commit.

Copy link

github-actions bot commented Jan 8, 2025

Latest documentation preview deployed successfully.

Result Commit Link
bd996a0 https://landing-eefm38yhv-rerun.vercel.app/docs

Note: This comment is updated whenever you push a commit.

@Wumpf Wumpf changed the title Run Linux & Windows screenshot tests via llvmpipe software rasterizer Run Linux & Windows screenshot tests via lavapipe software rasterizer Jan 9, 2025
@Wumpf
Copy link
Member Author

Wumpf commented Jan 9, 2025

@rerun-bot full-check

Copy link

github-actions bot commented Jan 9, 2025

@Wumpf Wumpf added the 🚢 CI label Jan 9, 2025
@Wumpf Wumpf force-pushed the andreas/enable-screenshottests-always branch from 26f6c59 to ac927bd Compare January 9, 2025 17:28
@Wumpf
Copy link
Member Author

Wumpf commented Jan 9, 2025

@rerun-bot full-check

Copy link

github-actions bot commented Jan 9, 2025

Started a full build: https://github.com/rerun-io/rerun/actions/runs/12695361164

Base automatically changed from andreas/re_renderer-in-tests to main January 9, 2025 18:04
@Wumpf Wumpf force-pushed the andreas/enable-screenshottests-always branch from ac927bd to 25206ca Compare January 9, 2025 18:19
@Wumpf
Copy link
Member Author

Wumpf commented Jan 9, 2025

@rerun-bot full-check

Copy link

github-actions bot commented Jan 9, 2025

Started a full build: https://github.com/rerun-io/rerun/actions/runs/12696447614

@Wumpf Wumpf marked this pull request as ready for review January 9, 2025 19:41
@emilk emilk self-requested a review January 10, 2025 07:02
Copy link
Member

@emilk emilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! Finally Clement can start contributing to the UI :)

Comment on lines +104 to +105
# TODO(andreas): It would be nice if `setup_software_rasterizer.py` could do that for us as well (note though that this action here is very fast when cached!)
- name: Install Vulkan SDK
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once this PR is merged, we should test this path with a new "external" PR

@Wumpf Wumpf force-pushed the andreas/enable-screenshottests-always branch from 07c3ba5 to f8f844f Compare January 10, 2025 09:53
@Wumpf Wumpf merged commit 45d4df0 into main Jan 10, 2025
37 checks passed
@Wumpf Wumpf deleted the andreas/enable-screenshottests-always branch January 10, 2025 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exclude from changelog PRs with this won't show up in CHANGELOG.md 🐧 linux Linux-specific problems 🚢 CI 🔨 testing testing and benchmarks 🪟 windows Problems specific to the Windows OS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use a software renderer for kittest
2 participants