Skip to content
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

[INFRA] introduce versioning of the schema itself #1013

Merged
merged 3 commits into from
Apr 13, 2022

Conversation

yarikoptic
Copy link
Collaborator

Note -- it is not a version of the content of the schema, it is
a version over organization of the schema (e.g. we could add some
schema to describe how schema is organized).

The 'desire' for having a version over the BIDS schema's version
is somewhat described in README.md in added section. Just to facilitate
tools to know what versions of bids schema they can read without explicitly
whitelisting BIDS versions themselves. Might become more relevant as more
versions start to appear in https://github.com/bids-standard/bids-schema

I will feel totally Ok if we just drop this PR for now entirely.

@codecov
Copy link

codecov bot commented Feb 17, 2022

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 71.50%. Comparing base (e140f35) to head (d29ee93).
Report is 1423 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1013      +/-   ##
==========================================
+ Coverage   70.53%   71.50%   +0.96%     
==========================================
  Files           9        9              
  Lines         930      930              
==========================================
+ Hits          656      665       +9     
+ Misses        274      265       -9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@tsalo
Copy link
Member

tsalo commented Feb 17, 2022

I think this is a great idea. From what I can tell, we have four concurrent versions we need to track in this repository:

  1. the specification, which is handled outside of the schema
  2. the schema structure
  3. the schema contents
    • Once the schema is complete, this would march in line with 1.
  4. the schemacode version, which is tracked with versioneer I think

Does that sound right? And this would track the schema structure, correct?

@tsalo tsalo added the schema Issues related to the YAML schema representation of the specification. Patch version release. label Feb 17, 2022
@yarikoptic
Copy link
Collaborator Author

Does that sound right?

pretty much. I feel that 1 and 3 are coming together, ie. I don't really see a need to separate out specification as what is outside or inside schema in respect of versioning.

code, as long as it is not distributed as a usable thing outside of this repo, is probably not worth its own versioning. But we should aim indeed to move good portion of the code outside (and thus it would get its own versioning), and leave only the code needed for specification rendering etc.

And this would track the schema structure, correct?

correct

@yarikoptic
Copy link
Collaborator Author

attn @bids-standard/schema -- I am starting the campaign to decide on the destiny of adding versioning of schema's schema! Please review/approve/request changes.

@effigies
Copy link
Collaborator

I'm okay with this. It would be nice if we could have some code that would allow us to identify a break, but that might be asking too much prior to the existence of a version number.

Copy link
Member

@sappelhoff sappelhoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sounds good to me, but I'd include a sentence on how the versioning changes after the 0. series (i.e., starting with 1.0.0)

src/schema/README.md Outdated Show resolved Hide resolved
@yarikoptic
Copy link
Collaborator Author

@effigies

It would be nice if we could have some code that would allow us to identify a break,

do you mean having some CI code which would identify change to schema breaking compatibility? indeed, not sure yet how we could do that programmatically.

@sappelhoff

I'd include a sentence on how the versioning changes after the 0. series (i.e., starting with 1.0.0)

I'd say that the exact approach would be worked out based on our experience with versioning the 0. series, but let's indeed verbalize what we think it would be -- proposing in https://github.com/bids-standard/bids-specification/pull/1013/files#r838758576 -- looks ok'ish?

@effigies
Copy link
Collaborator

@yarikoptic @sappelhoff @tsalo Our plan this week is to continue work in separate schema branches (kept synced with changes in master). By the end of the week, we will very likely have sufficient changes to justify bumping the version in some way, so I would suggest finalizing this and merging before the end of the week so that we can have a clear break in pre/post workshop.

@tsalo tsalo added the schema-structure Changes to the fundamental organization/structure of the YAML schema. Minor version release. label Apr 11, 2022
Copy link
Member

@sappelhoff sappelhoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say that the exact approach would be worked out based on our experience with versioning the 0. series, but let's indeed verbalize what we think it would be -- proposing in https://github.com/bids-standard/bids-specification/pull/1013/files#r838758576 -- looks ok'ish?

agreed, thanks for your addition. This lgtm

@yarikoptic
Copy link
Collaborator Author

@yarikoptic @sappelhoff @tsalo Our plan this week is to continue work in separate schema branches (kept synced with changes in master). By the end of the week, we will very likely have sufficient changes to justify bumping the version in some way, so I would suggest finalizing this and merging before the end of the week so that we can have a clear break in pre/post workshop.

can only wholeheartedly support the "Merge this PR" initiative! I force pushed rebase to resolve conflicts (if I got it right due to "folder" -> "directory", so I used "directory" too)

src/schema/README.md Outdated Show resolved Hide resolved
Note -- it is not a version of the content of the schema, it is
a version over organization of the schema (e.g. we could add some
schema to describe how schema is organized).

The 'desire' for having a version over the BIDS schema's version
is somewhat described in README.md in added section.  Just to facilitate
tools to know what versions of bids schema they can read without explicitly
whitelisting BIDS versions themselves.
src/schema/README.md Outdated Show resolved Hide resolved
I thought we had it but managed to screw it up during rebase. Thanks @sappelhoff

Co-authored-by: Stefan Appelhoff <[email protected]>
src/schema/README.md Outdated Show resolved Hide resolved
@sappelhoff sappelhoff merged commit 1379ab0 into bids-standard:master Apr 13, 2022
@sappelhoff sappelhoff changed the title ENH: introduce versioning of the schema itself [INFRA] introduce versioning of the schema itself Apr 13, 2022
@effigies effigies added the exclude-from-changelog This item will not feature in the automatically generated changelog label Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exclude-from-changelog This item will not feature in the automatically generated changelog schema Issues related to the YAML schema representation of the specification. Patch version release. schema-structure Changes to the fundamental organization/structure of the YAML schema. Minor version release.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants