GitHub Integration Overview Beta

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.

Learn more about how it works

Import model code from GitHub

Have an existing GitHub repository for your model? Connect it to import releases straight into the CoMSES Model Library.

Set up a new GitHub repository

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.

Have questions? Concerns?

Check out the list of frequently ask questions. If you don't find an answer, we are happy to help, just contact us.


Import models from an existing GitHub repository

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.


Set up a new GitHub repository for your submitted model

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


Frequently asked questions

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.

This website uses cookies and Google Analytics to help us track user engagement and improve our site. If you'd like to know more information about what data we collect and why, please see our data privacy policy. If you continue to use this site, you consent to our use of cookies.
Accept