Dashboardpublishpublish.yml Craft state isolation

publish.yml Craft state isolation

Category: architecture
Confidence: 1.00
ID: 01a08b5e-d15c-7a01-92d9-b10c086ed2f9
Project ID: ac098440-8723-4582-9021-39e07a608100
Cross-project: No
Recalled in other projects: 0
Source session: 0Y8WEQRI0cAu0hbSG
Created: 2026-09-08 21:04:49
Updated: 2026-09-10 12:50:42

Content

Chose $GITHUB_WORKSPACE/.craft-state with explicit XDG_STATE_HOME over state inside the target checkout because untrusted repository contents could pre-populate privileged Craft state. Derive collision-resistant state filenames from canonical publish identity, and set CRAFT_PUBLISH_STATE_GITHUB_REPO from the issue checkout repository—not an optional workspace release-repository override—so restoration and publication use the same identity.

Move to: