Skip to content

chore: back-merge docs and CI to main - #28

Merged
Tielem merged 3 commits into
mainfrom
dev
Sep 20, 2026
Merged

Tielem merged 3 commits into
mainfrom
dev

Conversation

@Tielem

@Tielem Tielem commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Back-merge, not a release. [Unreleased] carries no date, so release.yml resolves 0.19.0, finds the tag and skips — the path its own comment describes as "main also receives pushes that are not releases — a docs fix, a back-merge."

0.19.0 stays current, which is a true statement about what this repo supports: nothing here changed behaviour. The notes ride the next real release.

Lands on the default branch: the corrected design notes (#26), the removed dead YamlDotNet pin, and the parity enforcement (#25, #27). The README GitHub shows is currently the one describing a dependency the CLI no longer has.

* ci: enforce the minor-version parity instead of documenting it

"0.19.x means implements spec 0.19" lived only in prose, which left it one typo
from being silently false: a changelog heading naming 0.20.0 against a spec
still at 0.19, or an implementation of 0.20 released as 0.19.4, and nothing
anywhere would have failed.

This repo now carries a SPEC_VERSION file naming the spec it implements, and
check-version-parity.sh asserts two things in CI: the changelog's minor equals
it, and every Utos.* package pin is on that same minor. A package on a
different minor is on a different spec line, so a release claiming 0.19 while
depending on 0.20 packages is refused.

Checked at PR time rather than at release time, because at release time the
mistake is a tag and a published artifact that cannot be taken back.

Both halves verified by breaking them.

* ci: mark check-version-parity.sh executable

Windows git does not record the file mode, so chmod +x locally left it 100644
in the index and the CI step failed with 'Permission denied' before it could
check anything. Set with git update-index --chmod=+x, which is mode-only and
independent of the filesystem.
)

They explained why YAML is read through YamlDotNet's node graph rather than its
object deserializer -- true while the source-format mapping lived here, and
untrue since 0.19.0 moved it to Utos.Workflow.Source.

The unused YamlDotNet pin went with them. Central package management kept the
version and its rationale alive after the last PackageReference was deleted, so
nothing failed to tell us it was dead.

The notes now say what is true: neither reading a document nor judging a bundle
is implemented here, both live in packages every tool shares, and that is what
keeps a workflow one tool accepts from being one another rejects.
@Tielem
Tielem merged commit bd98b8d into main Sep 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant