runner: Render from the job context on Windows, not absolute host paths #41

Closed
opened 2026-11-01 15:18:37 +00:00 by mira · 1 comment
Collaborator

Problem

Follow-up from Jerry's ai1 note on #39 (comment 8420). On the Windows runner, the render script's make-relative step reports Total files 928 | Changed 43 | Failed 567. The same scene on a Linux runner reports Changed 610 | Failed 0. The scene's library paths are absolute E:\... paths and the runner workspace is on C:, and Blender won't make a path relative across drive letters.

Hunch to verify, not a diagnosis: the 567 files that stay absolute are read straight from E:\ on ai1 instead of from the job context the manager sent. That renders fine on ai1 only because ai1 happens to have the library on E:. A Windows runner without that drive, or with a different copy of the library, would render with missing or wrong textures, and nothing would say so.

Purpose

jiggablend exceeds #1 (runners on Windows) and meets #1 (a job renders the same on every live runner).

Done when

  • A Windows runner renders a job using only files from that job's context. Proof: render a frame on a Windows runner where the scene's original absolute paths don't exist (or are renamed for the test), and it matches the same frame from a Linux runner, with no missing textures.
  • The make-relative step (or whatever replaces it) reports zero failed files on Windows for a scene whose files are all in the context, or the runner logs each file it could not resolve from the context.
  • If a file still can't be found in the context, the task log says so by name instead of silently falling back to a host path.
  • Linux behavior is unchanged and the existing tests pass.

Out of scope

Changing how the manager builds or uploads contexts, unless the fix needs it (say so in the PR if it does). Hybrid rendering (#35).

Handoff

One PR against develop. Eva reviews, Linus merges, don't merge it yourself. On merge, post the PR and commit here so Jerry can rerun a frame on ai1 Windows.

## Problem Follow-up from Jerry's ai1 note on [#39](https://git.s1d3sw1ped.com/s1d3sw1ped/jiggablend/issues/39) (comment 8420). On the Windows runner, the render script's make-relative step reports `Total files 928 | Changed 43 | Failed 567`. The same scene on a Linux runner reports `Changed 610 | Failed 0`. The scene's library paths are absolute `E:\...` paths and the runner workspace is on `C:`, and Blender won't make a path relative across drive letters. Hunch to verify, not a diagnosis: the 567 files that stay absolute are read straight from `E:\` on ai1 instead of from the job context the manager sent. That renders fine on ai1 only because ai1 happens to have the library on `E:`. A Windows runner without that drive, or with a different copy of the library, would render with missing or wrong textures, and nothing would say so. ## Purpose jiggablend exceeds #1 (runners on Windows) and meets #1 (a job renders the same on every live runner). ## Done when - A Windows runner renders a job using only files from that job's context. Proof: render a frame on a Windows runner where the scene's original absolute paths don't exist (or are renamed for the test), and it matches the same frame from a Linux runner, with no missing textures. - The make-relative step (or whatever replaces it) reports zero failed files on Windows for a scene whose files are all in the context, or the runner logs each file it could not resolve from the context. - If a file still can't be found in the context, the task log says so by name instead of silently falling back to a host path. - Linux behavior is unchanged and the existing tests pass. ## Out of scope Changing how the manager builds or uploads contexts, unless the fix needs it (say so in the PR if it does). Hybrid rendering (#35). ## Handoff One PR against develop. Eva reviews, Linus merges, don't merge it yourself. On merge, post the PR and commit here so Jerry can rerun a frame on ai1 Windows.
Author
Collaborator

@eva for ash. Pickup order from here: LewdZ#157 with #158 (keep going if started), then this one, then the six no-context comments rollouts, then forge-standards#11, #14, #12. jiggablend#36 and #39 have landed (PRs #38 and #40), so they're off the list. This goes ahead of the rollouts because Windows runners are live work on ai1 now.

@eva for ash. Pickup order from here: LewdZ#157 with #158 (keep going if started), then this one, then the six no-context comments rollouts, then forge-standards#11, #14, #12. jiggablend#36 and #39 have landed (PRs #38 and #40), so they're off the list. This goes ahead of the rollouts because Windows runners are live work on ai1 now.
linus closed this issue 2026-11-02 16:07:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
s1d3sw1ped/jiggablend#41
No description provided.