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

Modify GHA Docker build tests to clean up after themselves #177

Merged
merged 3 commits into from
Aug 21, 2024

Conversation

jhiemstrawisc
Copy link
Collaborator

@ntalluri reports several failing CI tests caused by insufficient disk space in the GHA runner's host OS, and it looks like the available disk is being chewed through by the docker build tests.

This PR adds an additional step to each container build test that explicitly deletes the image after it has been built. Hopefully this leads to more efficient use of space.

@jhiemstrawisc jhiemstrawisc requested a review from ntalluri August 16, 2024 14:26
@agitter
Copy link
Collaborator

agitter commented Aug 16, 2024

We're still failing the "Build Docker images" test with

ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

The SPRAS image isn't that large, so I'm puzzled.

@jhiemstrawisc
Copy link
Collaborator Author

jhiemstrawisc commented Aug 20, 2024

@agitter, I think I've slimmed this down enough to pass during the build process. I'm still not 100% sure exactly what the source of the sudden failures was, but it's clearly related to some intermediary files created in the dnf installations. I don't think there's any harm in leaving the container cleanup between Docker build runs, but I can remove that if you'd like.

@agitter
Copy link
Collaborator

agitter commented Aug 20, 2024

We can leave the cleanup steps in between the Docker builds. The GitHub Actions builds are working again, so I'm happy with these changes.

However, should we bump spras to v0.1.1 before merging now that we've changed the Dockerfile?

@jhiemstrawisc
Copy link
Collaborator Author

jhiemstrawisc commented Aug 21, 2024

Good point, I don't think the current setup gives us a way to create a new image without ingesting all of the changes merged to master since the last image was cut, so this is probably a requirement. We might think about teasing these apart so we can make packaging changes without having to cut a new version every time.

We should also document the process for creating a new release. I think we'll need to:

  1. Merge this PR
  2. Tag the state of the master branch afterwards so that these changes are included
  3. Using the repository's state at that tag, build and push a new spras image to Dockerhub.

@agitter
Copy link
Collaborator

agitter commented Aug 21, 2024

We agreed to Justin's proposed workflow for merge, update verison, tag, release, build and push the Docker image.

In a follow up pull request, he'll work on automating some of those steps.

@agitter agitter merged commit 8dc917e into Reed-CompBio:master Aug 21, 2024
5 checks passed
@agitter
Copy link
Collaborator

agitter commented Aug 23, 2024

I pushed v0.2.0 to DockerHub https://hub.docker.com/repository/docker/reedcompbio/spras/general

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.

2 participants