-
Notifications
You must be signed in to change notification settings - Fork 4
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
Use tags instead of branches for different versions #2
Comments
Elaborate on your envisioned design. Are you suggesting having a single Things to consider:
Another question is where should we store the data? Currently it's tracked in git. My preference would be to track with Git LFS, but GitHub's billing makes that prohibitive. I want to avoid using something like GCS since that might be a barrier for some users, costs money, and makes things less self contained. At some point, we may exceed the github repo size recommendation with the current design:
Releases can have attached files, and this looks like a hack for free storage:
But there is something nice about having the data as part of the repo... less centralization risk. Do you have any repos where you use CI to deploy tags / releases that would be good references? |
When I've done this, I keep a single main branch and update it only on data changes. This would be a pretty big issue for 1). If you want to be able to rebuild existing releases, I guess you have to maintain different code to go with each considering the schema might change. Regarding 2) I think you can still diff between different tags, so this would work in both scenarios.
Agreed but like you mentioned, there are some practicality issues with storing bigger files. I've been pretty happy with using Zenodo. Its a bit of a pain to automate uploading new files and updating old records. I wrote a wrapper around their API https://github.com/cthoyt/zenodo-client/ to take care of some of that, but it relies on being able to persist some configuration, which would be sort antithetical to my other idea to automate everything 😅
Yes, see https://github.com/biopragmatics/bioregistry/blob/main/.github/workflows/update.yml. I hacked into the |
I'd rather have just source code on
I envision that the codebase will only support a single ensembl DB schema version, such that you cannot rebuild old releases that had a different upstream schema. Would accomplish this by adding a We could also add patch numbers to our tags, like I'm leaning towards branches + patchless tags + patch tags. Although the main benefit to this appears to be ability to upload to Zenodo. |
Effectively, tags are kind of like branches, but GitHub has much deeper support for tags/releases. Additionally, you could hook this up to Zenodo to automatically provide an archived backup for each if you used tags.
The text was updated successfully, but these errors were encountered: