Repository navigation
feat(report): status/v1 and check/v1 schemas; a compatibility page - #16
Merged
Merged
Conversation
The JSON reports of status, apply and check now carry a schema field, status/v1 and check/v1, and have JSON Schemas (touchmark schema status, touchmark schema check), with tests that validate them against samples and every golden report and keep their states, actions and opt_in values equal to Go's. The fields are added; nothing else in the reports changes. docs/reference/compatibility.md says what a hub and a script can rely on at 0.x: configuration files at version 1 change only by adding, versioned reports only by adding fields and values, what touchmark leaves in repositories stays readable (the marker's payload is frozen), and the command line, exit codes, variables, report file names, Action inputs and image are stable; text output and messages are not. It lists the two deprecated keys, which stay, with a warning. Also: no PyPI release (the section on adding it later is gone), and the text that still spoke of 1.0 points to the compatibility page.
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.
touchmark stays at 0.x, so this writes down what users can rely on, and closes the one JSON report that had no schema.
status/v1andcheck/v1. The JSON reports ofstatus,applyandcheckgain aschemafield and JSON Schemas (touchmark schema status,touchmark schema check), documented in Reports from the schemas. Tests validate samples and every golden report of the CLI against them, and keep the schema's states, actions andopt_invalues equal to Go's. The field is the only change to the output, so it is additive.version: 1change only by adding; versioned reports only by adding fields and values; what touchmark leaves in repositories stays readable, with the marker's payload frozen (a change would betouchmark:v2, read alongsidev1); command and flag names, exit codes, variables, CI report file names, Action inputs and the image are stable; text output, messages and Go packages are not. Deprecations warn, are announced in the changelog, and keep working at least two minor releases and six months; it lists the two deprecated keys (commit.author, a barerepos:list), which stay.CONTRIBUTING.md, the release page,commit.author's "Removed in v1") now points to the compatibility page or says what happens.go test ./internal/report ./internal/cli ./schemas ./scripts/docspasses (the CLI suite ingolang:1.27, whose goldens were regenerated with-update).