-
Notifications
You must be signed in to change notification settings - Fork 99
Various fixes to container image and CI #254
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
Conversation
3604c63 to
f57f9df
Compare
437ca73 to
4bb780f
Compare
cb05e48 to
ca3f6e8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refactors the container image build process and CI workflows to improve caching, fix version detection, and automate container maintenance. The changes move the Containerfile to the root directory, improve image layer ordering for better build caching, and add automation for tagging latest/stable versions and cleaning up development images.
- Relocated Containerfile from deploy/ to root directory with improved layer caching strategy
- Enhanced CI workflows to properly tag container images with versions and build types
- Added automated container maintenance workflow for cleaning up old PR images and updating latest/stable tags
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| deploy/Containerfile | Removed old Containerfile from deploy directory |
| Containerfile | New Containerfile at root with improved caching and PDM integration |
| README.md | Added documentation for available container image tags |
| .github/workflows/release.yml | Updated to use new Containerfile path and tag with version |
| .github/workflows/release-candidate.yml | Updated to use new Containerfile path and tag RC versions |
| .github/workflows/nightly.yml | Updated to use new Containerfile path and set nightly build type |
| .github/workflows/development.yml | Updated to use new Containerfile path and set dev build type |
| .github/workflows/container-maintenance.yml | New workflow for automated container cleanup and tag management |
| .containerignore | Added container ignore file referencing .gitignore |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| image-names: ${{ github.event.repository.name }} | ||
| image-tags: "pr-*" | ||
| cut-off: 2w | ||
| dry-run: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Set this to dry-run for now until we can confirm it deletes the correct set of images.
jaredoconnell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I left one comment.
e672ec1 to
23a94c7
Compare
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
40c9373 to
8c866e8
Compare
jaredoconnell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't love the burden of maintaining our own version of the python container. Is it set up to automatically update when the base container updates? If not there are security concerns.
The bug you referenced regarding Python 3.12 appears to be resolved, according to Mark.
I don't see any value to using the state of the art python version when the project is backwards compatible to 3.9, but I won't block you on it.
Adding some offline discussion here:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Signed-off-by: Samuel Monson <[email protected]>
Signed-off-by: Samuel Monson <[email protected]>
Summary
Various fixes to containers images and CI. Containers images should now reuse most layers on build, need less hacks when running in OCP, and properly detect the guidellm version. Release and RC git tags/branches tag the container image with the version. The
latestandstabletags now smartly update based on highest version tag (prev most recent build).Details
.containerignorethat mirrors.gitignoreTest Plan
1. Workflows
2. Container Changes
podman run --rm ghcr.io/vllm-project/guidellm:pr-254 --versionto verify version is setpodman run --rm --entrypoint /opt/app-root/guidellm/bin/pip ghcr.io/vllm-project/guidellm:pr-254 freezeand verify that versions match thepylock.toml./home/guidellm. (For tokenizer/dataset caching)Related Issues
Use of AI
## WRITTEN BY AI ##)