The CoMSES Model Library GitHub integration allows you to transfer releases of your model to or from a GitHub repository by connecting an existing repository or by having one created for you.
Get started by pressing Connect a repository for one of your models listed below or on the model's page. You can also import directly from an existing GitHub repository when submitting a new model by selecting Import model from GitHub on the new model form. Once you have a connected repository, it will be linked on the model's page and visible to others.
Have an existing GitHub repository for your model? Connect it to import releases straight into the CoMSES Model Library.
Don't have a repository yet? We'll build a git repository from your existing releases and let you push it to your own GitHub account.
Check out the list of frequently ask questions. If you don't find an answer, we are happy to help, just contact us.
How to set up an existing repository and import releases into the model library
How to update a GitHub release and re-import it
Keep your workflow on GitHub and avoid duplicate uploading by importing tagged releases straight from GitHub
GitHub release assets (the automatically generated zip file) are pulled into the model library and are available for download like any other release
Releases imported from GitHub are private to begin with, letting you make sure everything looks right before requesting peer review or publishing
Submissions are still required to contain source code and narrative documentation. We’ll try to automatically categorize transferred files and let you make any corrections
Software metadata like languages, license, etc. is extracted from the GitHub release and any existing codemeta.json or CITATION.cff files. Any missing fields can be filled in after importing
Imported releases can be peer reviewed just like any other submission, giving your model a DOI upon completion. Peer review must be requested before publishing.
While unpublished or under review, you can still make changes to a release by updating the tag on GitHub and reimporting the release. A video tutorial demonstrates exactly how to do this.
How to set up and push a new git repository for your model in the library
Putting your model on GitHub makes it easier for authors and other researchers to keep track of changes and collaborate on development, while also boosting accessibility and unlocking an ecosystem of tools for making scientific software more reusable
A git repository is automatically built for a model in the library by commiting published releases in order to a main branch, as well as seperate branches and tags for each release
In order to maintain attribution, the original submitter is set as the commit author, and all other authors as co-authors
After connecting to a blank GitHub repository, you’ll be able to push everything at once
New releases published in the model library or metadata changes to existing releases will be automatically added to the git repository but will require input to push to GitHub
We’ll never overwrite any changes you make to any branch on the GitHub repository and if you make any new releases there, you’ll be able to import them back into the model library
We request read and write access to repository contents. You can either select specific repositories or allow access to all current and future repositories (though we will not attempt to access any repositories besides those connected).
If you choose the selection option, ensure that the repository you want to connect is included.
No, only public GitHub repositories are supported at the moment.
Currently, no. We suggest forking the repository to your own account.
If the repository is deleted or made private, you should disconnect the repository. If you need to change the name, you can disconnect and then reconnect with the new name. If the repository is transferred to a new owner, we suggest maintaining a fork of the repository.