Bug
zipx 0.1.2 applies PlanConfig.env / zipxEnv to every job, including Capability Once jobs that use workflowCall (e.g. ZipxDocs.pages → uses: …/specular-docs.yml).
GitHub Actions rejects caller jobs that combine uses: with job-level env (and then reports missing runs-on / unexpected uses).
Seen on early-effect/chekhov after adopting 0.1.2 with:
zipxEnv := Map("PLAYWRIGHT_BROWSERS_PATH" -> EnvValue.expr("${{ github.workspace }}/target/ms-playwright"))
CI annotation: https://github.com/early-effect/chekhov/actions/runs/30667232653
Invalid workflow: Unexpected value 'uses'/'with'; Required property missing: runs-on (on the docs job).
Expected
workflow_call / reusable-workflow caller jobs omit job-level env (and keep runsOn = Nil). Build-wide env still applies to normal jobs (Verify, Publish, cache-rehydrate, verify-gate, etc.).
Workaround (chekhov)
Do not use zipxEnv when ZipxDocs is enabled; put shared values on capability env and zipxCacheRehydrateEnv instead.
Fix sketch
In Planner.onceJob, for the workflowCall branch, leave env empty (ignore config.env). Optionally document that zipxEnv does not apply to reusable-workflow callers.
Related: #42 / #43 (zipxEnv introduction).
Bug
zipx 0.1.2 applies
PlanConfig.env/zipxEnvto every job, includingCapabilityOnce jobs that useworkflowCall(e.g. ZipxDocs.pages →uses: …/specular-docs.yml).GitHub Actions rejects caller jobs that combine
uses:with job-levelenv(and then reports missingruns-on/ unexpecteduses).Seen on early-effect/chekhov after adopting 0.1.2 with:
CI annotation: https://github.com/early-effect/chekhov/actions/runs/30667232653
Invalid workflow: Unexpected value 'uses'/'with'; Required property missing: runs-on (on the docs job).
Expected
workflow_call/ reusable-workflow caller jobs omit job-levelenv(and keeprunsOn = Nil). Build-wide env still applies to normal jobs (Verify, Publish, cache-rehydrate, verify-gate, etc.).Workaround (chekhov)
Do not use
zipxEnvwhen ZipxDocs is enabled; put shared values on capabilityenvandzipxCacheRehydrateEnvinstead.Fix sketch
In
Planner.onceJob, for theworkflowCallbranch, leaveenvempty (ignoreconfig.env). Optionally document thatzipxEnvdoes not apply to reusable-workflow callers.Related: #42 / #43 (zipxEnv introduction).