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

Pyvcf3 and github actions #153

Merged
merged 189 commits into from
Apr 20, 2022
Merged

Pyvcf3 and github actions #153

merged 189 commits into from
Apr 20, 2022

Conversation

martinghunt
Copy link
Member

This switches to using pyvcf3 instead of cyvcf2 because we couldn't get cyvcf2 to build on windows.

It moves all builds from appveyor (windows) and travis (linux/mac) to github actions. Behaviour is the same as before:

  • for PRs/pushes to master branch, run all the tests
  • when a vX.Y.Z tag is pushed, run all tests, make a draft release, build mac and windows command line executables and add to the draft release.

Additionally, for releases it now builds a singularity container and pushes it to the release.

Closes #143

@mbhall88
Copy link
Member

Amazing work both!

My only reservations are about the Singularity container build:

  1. Won't this drastically slow down the CI? From what I can tell, it will try and build an image every push?
  2. Is GitHub's storage ok with having a file that large added to the release assets?
  3. Now I have the docker builds setup over on quay.io, it maybe seems redundant and there is now two container recipes to keep in sync? Docker gives you both Docker and Singularity.

None of this is me requested changes, more commenting. Great work again!

@martinghunt
Copy link
Member Author

Yes, basically agree with your comments...

  1. Yes, builds an image every push to master branch. Is overhead, but means testing in linux and building the singularity container are done together. It's not huge overhead though, linux only would still mean installing dependencies and running the tests. Plus I think is good to know that every build works on master branch.
  2. Yes! Is ok. Limit of 2GB per file, no limit on total of all files (https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases).
  3. Yes I agree, is kind of redundant. But for me not being a docker fan, it's really useful for me to be able to build the Singularity container locally for testing etc (and using writeable sandbox in the container). I do make a lot of use of the singularity file.

@martinghunt
Copy link
Member Author

... re 1: the build time is around 11 mins for each of linux/singularity and mac, and about 16mins for windows. So let's not worry about the time of linux/singularity build.

@martinghunt martinghunt merged commit e90317b into Mykrobe-tools:master Apr 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Switch to Github Actions
3 participants