-
Notifications
You must be signed in to change notification settings - Fork 21
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
606 mixs editing workflow and policy #789
Open
cmungall
wants to merge
30
commits into
main
Choose a base branch
from
606-mixs-editing-workflow-and-policy
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
b6d3bc3
added contribution-policy file
mslarae13 03b292d
added contribution-policy file
mslarae13 4277a28
added lost text
mslarae13 8b05215
Update contribution-policy.md
ramonawalls 316ecdb
Update CONTRIBUTING.md
ramonawalls 730c8fd
Create README.md
ramonawalls 4809ae4
Create CONTRIBUTING.md
ramonawalls 1288fd1
Rename contribution-policy.md to policy.md
ramonawalls 3cff4b1
Update CONTRIBUTING.md
ramonawalls ca90c55
Create workflow.md
ramonawalls 4b09b8c
Update policy.md
ramonawalls 4309326
Update workflow.md
ramonawalls fa92080
Update workflow.md
ramonawalls 6746f48
Update policy.md
ramonawalls eaeeaf9
Update workflow.md
ramonawalls 7ea36ae
Update CONTRIBUTING.md
ramonawalls b5e63fd
Update policy.md
ramonawalls 8f9c8a5
Update policy.md
ramonawalls f2c66e9
Update workflow.md
ramonawalls 83c6087
Create external_contribution.md
ramonawalls f572ede
Update CONTRIBUTING.md to be the first place people go for contributing
ramonawalls 96c27f1
Delete src/docs/CONTRIBUTING.md
ramonawalls 36fb7a4
Update README.md
ramonawalls 3242361
Rename workflow.md to edit_workflow.md
ramonawalls 23a048d
Update README.md
ramonawalls 88e37f6
Update about.md
ramonawalls 9fb9e71
Update README.md
ramonawalls 3f4571b
Update README.md
ramonawalls d582dbe
Update README.md
ramonawalls 8355d51
Update policy.md - fixed typo
cmungall File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# MIxS Repository Documentation | ||
This folder contains static documents that describe this repository, its editing policies, and workflows and guidance for editing. | ||
|
||
For information on GSC see [The GSC website](https://www.gensc.org/) | ||
|
||
For information on MIxS and its use, see [its autogenerated documentation](https://w3id.org/mixs). | ||
|
||
The GSC uses LinkML tooling to maintain the MIxS schema. For guidance on how to use LinkML or contribute to the core LinkML code, please see [the LinkML documentation](https://linkml.io/linkml/). | ||
|
||
## Code of Conduct | ||
|
||
The MIxS team strives to create a welcoming environment for editors, users and other contributors. | ||
Please carefully read our [Code of Conduct](../../CODE_OF_CONDUCT.md) before making a contribution. | ||
|
||
## Folder contents | ||
|
||
* README.md: This file | ||
* [about.md](about.md): A description of MIxS. This file is auto-generated by LinkML. For more information on MIxS, see [its autogenerated documentation](https://w3id.org/mixs). | ||
* [edit_worklow.md](edit_worklow.md): Guidance for members of the GSC Technical Working Group on how to request and create a new checklist or package, request and create a new term, update an existing term, or report an issue with the MIxS code | ||
* [external_contribution.md](external_contribution.md): Guidance and how-to's for external contributors, including how to request changes or report bugs | ||
* [policy.md](policy.md): Policies for editing, versioning, and communication about MIxS releases | ||
|
||
## GitHub Best Practices | ||
### How to write a great issue | ||
|
||
Please review GitHub's overview article, | ||
["Tracking Your Work with Issues"][about-issues]. | ||
|
||
**Labeling issues:** Issue labeld were updated 2023/12. Please do not create new labels on your own. Instead, create an issue to request a new label, which will be reviewed by the TWG or CIG. See the [labels page](https://github.com/GenomicsStandardsConsortium/mixs/labels) for descriptions of existing issues. | ||
|
||
### How to create a great pull/merge request | ||
|
||
Please review GitHub's article, ["About Pull Requests"][about-pulls], | ||
and make your changes on a [new branch][about-branches]. | ||
|
||
[about-branches]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches | ||
[about-issues]: https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues | ||
[about-pulls]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests | ||
[issues]: https://github.com/GenomicsStandardsConsortium/mixs/issues/ | ||
[pulls]: https://github.com/GenomicsStandardsConsortium/mixs/pulls/ |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
# mixs | ||
|
||
MIxS: the Minimum Information about any (X) Sequence standard | ||
MIxS: the Minimum Information about any (X) Sequence standard. | ||
|
||
This file is auto-generated by LinkML. For more information on MIxS, see [its autogenerated documentation](https://w3id.org/mixs). |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# MIxS Editing Workflows and Good Practices | ||
|
||
Please try to follow this document. First read the [policies](policies) document. | ||
|
||
# Terms | ||
|
||
## Requesting and creating a new term | ||
|
||
## Requesting and implementing a term update | ||
|
||
|
||
## Requesting and implementing a term deprecation | ||
|
||
# Checklists, extensions, and combinations | ||
|
||
Define what they are | ||
|
||
## Requesting and creating a new checklist or extension | ||
|
||
## Updating an existing checklist or extension | ||
|
||
# Releases | ||
|
||
# LinkML Updates | ||
|
||
# Documentation | ||
Autogenerated documentation is created with every PR | ||
Sujay's fork allows you to preview what will be regenerated. Important for when the documentation technology changes. | ||
|
||
------------------ | ||
Content copied over: | ||
|
||
- All change requests to the GSC should be captured in an issue. | ||
- Issues should be descriptive and provide clear requests and changes. Issue templates are available and should be used when possible. | ||
- One change should be proposed per issue. If multiple issues are related, you can leverage a GitHub super issue to connect related items. | ||
|
||
- All branches should be tied to issues and the branch name should relate to the issue it's tied to. | ||
- This can be accomplished easily using the GitHub "create a branch" tool when viewing the issue on the webpage. | ||
|
||
- All pushes, pull requests, and changes should be related to a single issue, and issues should be a single change per issue. | ||
- Issues and their associated pull requests should be small and targeted. One change per issue and pull request. | ||
|
||
- All branches and pull requests should be tied to an issue. | ||
|
||
- When making a pull request, contributions can continue to be made and built, but within scope of the related issue. | ||
- Making a draft pull request can be done to confirm changes are being done correctly | ||
|
||
- Provide a reviewer for pull requests. | ||
- Pull requests must be reviewed by a member of the GSC Technical Working Group | ||
- A Pull request requires someone other than the person that created the pull request | ||
- Include issue author as a pull request reviewer | ||
|
||
- Once a pull request is started, all further discussion, review, and changes, happen in the pull request (rather than the issue). | ||
- ?? Using conversations within PRs (TODO: add links to GH documentation) | ||
|
||
- When a pull request is merged, the associated branch should be deleted and issue closed. | ||
|
||
- The GSC will create releases (ADD Details, # of PRs? on a schedule?) | ||
- The GSC will use semantic versioning for releases: 3 digits (major, minor, patch) | ||
- Create a project for the release or other large change set | ||
- A change log for a release will be generated from all the pull requests that are part of the repository since the last release. | ||
|
||
- All issues that pertain to a release should be part of a project for that release. | ||
|
||
- Contributions should NOT be made in a fork. | ||
- If external parties make a fork, it should be tied to an issue. Forks will only be merged back in following the above criteria for branches and small changes. | ||
- It is expected that external parties will discuss with the Technical Working Group before making changes on a scale that require a fork (e.g. a new checklist or extension). | ||
- The preference is to avoid forks and will be reviewed on a case by case basis. | ||
- Whenever a fork is created, a Technical Working Group member will reach out to the creator | ||
|
||
- Add require a description to the suggested new thing to the requirements | ||
- New extensions or checklists should be tracked using GitHub Projects | ||
|
||
- Add require a description to the suggested new thing to the requirements | ||
- New extensions or checklists should be tracked using GitHub Projects |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Guidance and How-To's for External Contributors |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# Introduction | ||
|
||
This document records policies about editing and contributing to MIxS which are enacted via [editing workflows](workflow.md). Documentation in this repository is considered authoritative and supercedes any previous documentation in Google Drive or the gensc.org website, although content from this repository may be duplicated in those or other locations. All new editing and contributing policies must be approved by the Technical Working Group (TWG) and Compliance and Interoperability Group (CIG). | ||
|
||
## MIxS transition to LinkML Details | ||
|
||
With the release of MIxS 6.0, management of MIxS switched to fulling using GitHub for edits and releases and to using [Linkml](https://linkml.io/). The release of MIxS 6.2.0 made the switch to using "out of the box" LinkML code rather than customizations. The biggest changes was to remove any dependencies on an external spreadsheet for generating the LinkML YAML file. The source of truth (SOT) for editing MIxS is now [the YAML file](https://github.com/GenomicsStandardsConsortium/mixs/blob/main/src/mixs/schema/mixs.yaml). However, since this was a minor release, most repositories implementing MIxS will continue to use the generated artifacts from MIxS 6.1 until MIxS 7 is released. | ||
|
||
NOTE: Update this section after the release of MIxS 7. | ||
|
||
# GitHub Editing Policies | ||
|
||
The GSC leverages GitHub tools to manage MIxS terms, checklists, extensions, and releases. GSC meeting notes, including CIG, TWG, and Board meetings, are NOT authoritative but exist to support development in this repository. GitHub issues, pull requests, and releases will contain the source of truth. Documentation will be generated from GitHub. Below are guidance and policies on how to contribute to MIxS. Specific details on how to use GitHub for contributions are available in the [editing workflows](workflow.md) document. | ||
|
||
### Editing policies | ||
* All change requests to the GSC should be captured in an issue. | ||
* Issues should be descriptive and provide clear requests and changes. Issue templates are available and should be used when possible. | ||
* One change should be proposed per issue. If multiple issues are related, you can leverage a GitHub super issue to connect related items. | ||
* All branches should be tied to issues and the branch name should relate to the issue it's tied to. | ||
* More details on how to easily accomplish this using the GitHub "create a branch" tool are provided in the editing workflows. | ||
* All pushes, pull requests, and changes should be related to a single issue, and issues should be a single change per issue. | ||
* Issues and their associated pull requests should be small and targeted. One change per issue and pull request. | ||
* All pull requests (PRs) must be reviewed by at least one other person besides the requester who is a member of the TWG. Additional reviewers are encouraged. | ||
* If the issue author does not make the PR, they should be included as a pull request reviewer. | ||
|
||
**TODO:** Add policy about who can commit directly to mixs repo and merge pull requests. CREATE AN ISSUE FOR THIS!!! | ||
* should anyone be allowed to commit directly to main (PRs are merged, not committed) | ||
* rules allow us to control this | ||
* Who has permission to create branches is controlled by roles | ||
|
||
# Release Policies | ||
The GSC (through the CIG and with support from the TWG) creates major releases for MIxS approximately one time per year. MIxS uses semantic versioning for releases: 3 digits (major, minor, patch). | ||
|
||
## Major Releases | ||
* Before a major release, the CIG and TWG must generate a release candidate. | ||
* Major releases contain new checklists, extensions, and terms. | ||
* Major releases may also include the types of changes allowed in minor or patch releases. | ||
* Major releases must be reviewed by the CIG, TWG, GSC board, and the list of repositories using MIxS. | ||
* TODO: Create a list in this repo of who are external reviews. Assign a responsible person to maintain that list and to maintain the emails in a separate private document. | ||
* The CIG manages the distribution of and feedback from major releases and provides outreach about new releases. | ||
* At least x months must be provided for feedback on major releases before they are published. | ||
* Repositories that are MIxS compliant must adopt major releases within X months of their release. | ||
|
||
## Minor Releases | ||
* Before a minor release, the CIG and TWG must generate a release candidate. | ||
* Minor releases CANNOT contain new checklists or extensions. | ||
* Minor releases can include updates to existing terms. | ||
* Minor releases may include new terms, but those terms are not consider "official" until the next major release. **TODO:** Discuss this policy | ||
* Minor releases must be reviewed by the CIG and TWG. Other interested parties may review minor releases using GitHub. | ||
* Depending on whether the minor release is more technical or content focused, either the TWG or CIG manages the distribution of and feedback and provides outreach about new minor releases. | ||
* At least x weeks must be provided for feedback on major releases before they are published. | ||
* Repositories that are MIxS compliant are not required to adopt minor releases. | ||
|
||
## Patch Releases | ||
* Patch releases are used to correct errors in elements (checklists, extensions, or terms) that do no substantively change the content of the element. | ||
* Patch releases may be used to update documentation. | ||
|
||
# Policies for Community Contributions to MIxS | ||
|
||
This section provides policies about contributing to MIxS. See the [editing workflows](workflow.md) document for how to request, update, or deprecate a checklist, extension, or term. | ||
|
||
It is the responsibility of the CIG to work with contributors to ensure that their proposal meets MIxS and GSC requirements for content. It is the responsibility of the TWG to work with the CIG and external contributors to ensure that proposed changes meet MIxS technical requirments. | ||
|
||
## Checklists and Extension | ||
|
||
Most new checklists, extensions, and combinations are contributed to MIxS by external research communities. If an indivudual or single organization wants a new checklist or extension, we strongly recommend that they first enlist broad participation from the relevant community to ensure that the request is supported by community consensus. Often, the community has spent considerable time defining their contribution before approaching MIxS, but we encourage communities to engage with the GSC as early as possible. | ||
|
||
See the MIxS documentation for a definitions of checklist, extension, and combination. **TODO:** Add link when it is ready. | ||
|
||
## Terms | ||
|
||
Changes to terms (addtion, deletion/deprecation, modification) are made by individuals, organizations (e.g., repositories working with MIxS), or communities. They may stand along or part of a new checklist or extension. | ||
|
||
Procedures for changing terms are described in the [editing workflows](workflow.md) document. All terms related requests must come through an issue in this GitHub repository. | ||
|
||
# What it means to be MIxS Compliant | ||
As a standards organization, GSC has expections of what it means to be compliant with their standards. For MIxS, this means... | ||
|
||
**TODO:** Decide on and document what MIxS Compliant means and if/how to enforce it. |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: "labeld" should be "labels"
typo: "for descriptions of existing issues " should read "for descriptions of existing labels"