-
Notifications
You must be signed in to change notification settings - Fork 9
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 Github Actions to build and deploy container #9
Comments
I have been able to successfully configure a GHA workflow that does the following:
I have tested the workflow in the https://github.com/bailey-lab/deploy-singularity-testing repo. Installing the container at this point can be done using the Singularity CLI as follows: # N.B. I am using the example repo and the dev tag of the container.
singularity pull oras://ghcr.io/bailey-lab/deploy-singularity-testing:dev Note that as of now, I am only able to pull the container on Oscar, and not on Seekdeep. I believe this is because of differences in the version number of singularity. Oscar is running version 3.8.0-1.el7, whereas Seekdeep is running version 3.6.4. Additional notes:
|
The workflow runs all terminate with the following error message: g++-9: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make: *** [Makefile:90: build/MIPWranglerBuild/src/mipster/filtering/filtering.o] Error 1
make: *** Waiting for unfinished jobs....
g++-9: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make: *** [Makefile:90: build/MIPWranglerBuild/src/mipster/objects/MipMapResult.o] Error 1
g++-9: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make: *** [Makefile:90: build/MIPWranglerBuild/src/mipster/objects/MippedRead.o] Error 1
FATAL: While performing build: while running engine: exit status 2
Error: Process completed with exit code 255. After some investigation, it appears that this may be due to hardware limitations of the Github runners. In particular, it may be due to a memory issue. Github-hosted runners are given 7 GB of RAM memory. Potential SolutionsSolution: Reduce the size of the container, thereby reducing memory usage when building the container. Solution: Use a self-hosted runner to build the container on GHA. Solution: Manually build and upload the container to Github packages. For this, we can use Seekdeep, which is able to build the image. |
Code has been commented out until #9 has been properly addressed.
Github Actions could be a useful tool for us to test, document, and even build our container.
While there is a lot of actions we could eventually incorporate, as of now, the one that most catches my eye is the ability to build our container each time we push. The https://github.com/singularityhub/github-ci repo provides three example actions that we could experiment with.
With these actions, we can build and test the container. We can also use the Github Package repository to store our built containers. This can make it easier for users to download the built container, rather than needing to build the container on their own machine...
Before I go ahead and try this out, @AshlinHarris what do you think about implementing this action and Github Actions in general?
The text was updated successfully, but these errors were encountered: