-
-
Notifications
You must be signed in to change notification settings - Fork 209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The suite should explicitly document its backwards compatibility policy #223
Comments
Hello, here is just a little idea to start the discussion. The test suite should provide a versioning like the semantic versioning. In this case, we can guarantee backward compatibility in some gradations. I think the original specification of "Semantic Versioning" doe not fit to 100% to the test suite, so we have to define our own meaning to the mayor, minor, and patch labels. Things that can be guaranteed for the project, even the obvious:
With this rules a particular test can be addressed by:
Furthermore, a release file should be created, that contains all tests in a single file. This file would look like this (simplified with just one test):
This file would be placed at
And one file with the name Finally, the question remains when which part of the version will be increased.
|
Thanks for kicking that off, that's exactly the kind of thing I want to document! Will have to leave some detailed comments as soon as I can review (others of course are welcome to). |
Two random things -- First, directed at myself in 2018 -- let's keep this ticket to just be about establishing the first baseline backwards compatibility policy (which we'll then need to adhere to for at least 6 months as downstream authors become aware of it). So no changing structure yet, not in a way downstream authors will notice, so we might as well leave that topic out for now and revisit it in its own ticket. Second random thing -- probably bears thinking about #244 in this context -- e.g., where will metaschema tests live? In a file called Oh, I guess third random thing is a general recommendation to downstream users on whether they should write their suite loaders as "opt in by default" or "opt out by default" if they encounter a new file. |
This suite is generally not versioned (despite such things having been requested in the past).
Regardless though, it is important to define exactly what sorts of backwards compatibility we offer. E.g. -- do we guarantee that files will stay in the same location? That tests will not change descriptions? That the directory structure won't change?
Some of these things have changed recently, so to help those who use the suite, we should explicitly note which of the above (and others) we guarantee.
Possibly here we should also therefore change the structure of the repo into one that clearly delineates between an authoring format and an output format -- e.g., from an authoring standpoint, it's potentially annoying to have to replicate tests across drafts, so perhaps tests should by default be replicated, unless explicitly restricted. But from an output standpoint, it's likely more convenient to fully denormalize the output, so that users of the suite can treat each version completely independently.
The text was updated successfully, but these errors were encountered: