From 66381436cf0d661df5cfe42f4dfc374cefbca0c8 Mon Sep 17 00:00:00 2001 From: nan Date: Sat, 19 Sep 2026 22:09:11 +0800 Subject: [PATCH] Run Blender tests with a virtual display --- .github/workflows/release.yml | 4 +++- .github/workflows/test.yml | 4 +++- tests/tools/test_environments.py | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bfb09c6..5dadfdf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,7 +51,9 @@ jobs: run: uv run --group blender node-group build --skip-tests - name: Run tests - run: uv run --group blender pytest tests/anyimage tests/nodes tests/tools + env: + LIBGL_ALWAYS_SOFTWARE: "1" + run: xvfb-run -a uv run --group blender pytest tests/anyimage tests/nodes tests/tools - name: Pack extensions run: uv run pack diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3419da0..584e74d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,4 +26,6 @@ jobs: run: uv run --group blender node-group build --skip-tests - name: Run tests - run: uv run --group blender pytest tests/anyimage tests/nodes tests/tools + env: + LIBGL_ALWAYS_SOFTWARE: "1" + run: xvfb-run -a uv run --group blender pytest tests/anyimage tests/nodes tests/tools diff --git a/tests/tools/test_environments.py b/tests/tools/test_environments.py index e12e18e..9201b2b 100644 --- a/tests/tools/test_environments.py +++ b/tests/tools/test_environments.py @@ -46,7 +46,8 @@ def test_ai_and_model_groups_own_their_runtime_dependencies(): def test_workflows_run_the_regular_blender_suite(): build_command = "uv run --group blender node-group build --skip-tests" test_command = ( - "uv run --group blender pytest tests/anyimage tests/nodes tests/tools" + "xvfb-run -a uv run --group blender pytest " + "tests/anyimage tests/nodes tests/tools" ) for name in ("test.yml", "release.yml"): workflow = (PROJECT_ROOT / ".github" / "workflows" / name).read_text( @@ -55,6 +56,7 @@ def test_workflows_run_the_regular_blender_suite(): assert build_command in workflow assert test_command in workflow assert workflow.index(build_command) < workflow.index(test_command) + assert 'LIBGL_ALWAYS_SOFTWARE: "1"' in workflow assert "BLENDER_BIN" not in workflow assert "download" not in workflow.lower()