Repository navigation
Run workflow tooling through Python - #303
Merged
Eli Pinkerton (wallstop) merged 2 commits intoOct 19, 2026
Merged
Eli Pinkerton (wallstop) merged 2 commits into
Eli Pinkerton (wallstop) merged 2 commits into
Conversation
The remaining release control flow lived in inline Bash despite the Python tooling migration. Move it to a typed uv entry point while preserving source resolution, immutable tags, validation order, dry-run guards, and idempotent npm/GitHub publication. Keep retained tooling usable when recovering older tags. Route the docs build through uv as well. Offline contracts exercise command failures, exact source selection, branch/PR/tag reruns, checksum generation, and mocked publication. The fixture release chain uses the new preparation and verification entry points. Python 3.9 contracts, strict typing, the strict docs build, and all 17 local gate steps pass. Unity remains 395/395 EditMode and 15/15 PlayMode through the Python bridge; this layer changes no Unity sources. No release operation was dispatched or published. Fixes #171 after the preceding native stack migration layers.
Eli Pinkerton (wallstop)
added this pull request to stack #297
October 18, 2026 21:43
Windows CI exposed a cp1252 child stdout failure even though the runner decodes UTF-8. Explicitly select UTF-8 for Python child output and exercise the regression with an inherited cp1252 setting. Compare artifact arguments using the native path format in the mocked publication contract. The explicit cp1252 regression fails before and passes after the repair on Linux. All ten Python 3.9 driver cases, strict pyright, and the changed-file fast check pass. Refs #171 and PR #303.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DISCLOSURE: LLM-GENERATED TEXT
Why: Release orchestration still requires reading substantial inline Bash.
What:
Fixes #171.
Type of Change
Checklist
Note
Medium Risk
Release automation still performs git pushes, tagging, npm trusted publishing, and GitHub Releases; behavior is intended to be equivalent but any orchestration bug could block or mishandle a release.
Overview
Moves release and docs CI orchestration from large inline Bash blocks into
scripts/release/workflow.py, invoked viauv run --no-projectfrom GitHub Actions.Docs workflow drops pip caching, adds
astral-sh/setup-uv, and builds withuv run … build_docs.py --installer uv.Release workflow replaces shell for prepare/publish (branch guards, version bump outputs, tree validation, git push/PR, tag resolution, npm/GitHub publish, reruns) with
workflow.pysubcommands (prepare,validate-tree,commit-push,resolve,publish-npm, etc.). Existing safety ordering (identity before push, artifacts before npm, immutable tags, dry-run) is preserved in Python.Adds offline driver tests (
test_release_workflow_driver.py) and updates workflow contract tests to assert on the new entrypoints;harness_scope.pymaps the new script to those suites.Reviewed by Cursor Bugbot for commit e09f531. Bugbot is set up for automated code reviews on this repo. Configure here.