You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
scio upgrade --product DIR (issue #58): brings a product bootstrapped by an older SCIO up to the current product bar, additively and from the current scaffold for its own PRODUCT.md: a missing Dockerfile and .dockerignore, the README's marked run block (under its ## Run heading), [tool.coverage.run] for a python product, and the CI's README run step where the CI is still the old scaffold's; anything the product made its own is kept and reported. One marker commit; a clean tree is required; a second run does nothing.
Changed
The worker's run_app tool runs the app where the sandbox runs: inside a Docker sandbox it starts detached, its health is probed with the profile's command from inside, and it is stopped by pid, so it no longer refuses a non-local sandbox; an app that exits reports its real exit code. The app-start code moved from scio.product.acceptance to scio.aci.apps, which both share (issue #58).
SCIO's own commits, merges and tags carry its identity (scio) on the command line, so a product clone or a machine without a git identity builds and upgrades (I-104).
CI runs the test suite in parallel (pytest-xdist, twice the runner's cores); pytest-xdist joins the dev group (issue #58).
With --gh a product's release goes through a release PR, as SCIO's own do: release cuts the changelog on release/v<version> (with the last progress record), pushes it and opens the PR; release_merge_wait stops until GitHub shows it merged; release_publish tags the merge commit, so the tag is on main's history, and publishes the GitHub Release. Offline the release is unchanged (I-103). New state fields ReleaseRecord.pr_number and pr_url.
Fixed
A node-ts product can build in the Docker sandbox: the sandbox image carries Node 22 next to Python, each profile names a capability probe (sandbox_probe; node-ts: Node with TypeScript type stripping) that the readiness check runs inside the image, and scio build reads PRODUCT.md's stack before choosing the backend, falling back to local with the reason when the image cannot run the stack (I-101).
In GitHub mode a squash- or rebase-merged milestone PR no longer breaks the next milestone: after a confirmed merge scio build resets local main to origin's when only SCIO's own bookkeeping commits are local and origin's progress.json still records them, and halts with sync_failed (naming the commits) when a human's commit exists only locally (I-102).
The Node docker-live test skips on the plain Python image when no sandbox image is named, and still fails when a named image cannot run Node (I-105).