feat: docker gpu image CI builds #3103
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enables the GPU enabled container images to be built and pushed alongside the CPU containers, and liberates the GPU Container images from local building for casual experimenters. This also generally addresses some of my CI concerns raised in #1461 & #3044
This doesn't validate the GPU enabled binary in the container, just that the declarations in place to build the
container and binary is functional, so it doesn't need any GPU infrastructure, and can be run as a Github Action. This generally
normalizes the delivery of GPU containers to match the CPU only ones.
As I'm not the maintainer of the primary repository, nor the owner of the DockerHub repository, I cannot run a full
validation on these as it only runs for
master
on @ggerganov's DockerHub credentials, I have a slightly differentvariation of this Action (with
push: false
) that confirms the changes generally. You can view that validation in my repository: Branch with similar change, Action Validation.Not Addressed By This Pull Request:
Known Issues:
linux/arm64
build for CUDA is really slow, but hasn't timed out on me (yet). I don't know why, but I don't find the pipeline delay acceptable so have it disabled for now.The value of opening up these builds and pushes:
Dockerfile
s don't go out of date, and changes don't break builds.I don't think I will have time to help set up the third item on this list, but that shouldn't stop us from gaining value from the first 2. Most of the effort is setting up additional infrastructure for a third party (like myself) to validate the process, the code changes are just a matter of finessing the tags and triggers.