-
Notifications
You must be signed in to change notification settings - Fork 158
CI: Use prebuild image when running aiter tests. #1493
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
base: main
Are you sure you want to change the base?
Conversation
8fd9625 to
fe2fa0a
Compare
9ae6c30 to
7d8ca3b
Compare
1fbca9f to
2072e5c
Compare
2072e5c to
fa71ca7
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 CI workflow to use prebuilt Docker images when running aiter tests, improving build efficiency by building the Docker image once and reusing it across test jobs.
Key changes:
- Introduces a new
build_aiter_imagejob that builds and pushes a Docker image with aiter pre-installed - Updates test jobs to use the prebuilt image instead of building aiter during test execution
- Removes redundant Docker login step from vllm_benchmark workflow
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
.github/workflows/aiter-test.yaml |
Adds image build job, updates environment variables, modifies standard and multi-gpu jobs to use prebuilt image |
.github/workflows/vllm_benchmark.yaml |
Removes redundant Docker login step since image pulling doesn't require authentication |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| RUN echo "=== Aiter version BEFORE uninstall ===" && pip show aiter || true | ||
| RUN pip uninstall -y aiter | ||
| RUN pip install --upgrade pandas zmq einops numpy==1.26.2 |
Copilot
AI
Dec 4, 2025
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.
The package name should be pyzmq, not zmq. The correct package name for ZeroMQ Python bindings is pyzmq.
| RUN pip install --upgrade pandas zmq einops numpy==1.26.2 | |
| RUN pip install --upgrade pandas pyzmq einops numpy==1.26.2 |
| - name: Push Docker image | ||
| run: | | ||
| IMAGE_TAG=rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }} | ||
| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} |
Copilot
AI
Dec 4, 2025
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.
Security concern: Docker credentials are being exposed in workflow logs. Consider using docker login --password-stdin to avoid passing credentials via command-line arguments, which can be exposed in process listings and logs. Example:
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u rocmshared --password-stdin| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} | |
| echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u rocmshared --password-stdin |
| - name: Run the container | ||
| run: | | ||
| set -ex | ||
| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} |
Copilot
AI
Dec 4, 2025
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.
Security concern: Docker credentials are being exposed in workflow logs. Consider using docker login --password-stdin to avoid passing credentials via command-line arguments. Example:
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u rocmshared --password-stdin| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} | |
| echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u rocmshared --password-stdin |
| - name: Run the container | ||
| run: | | ||
| set -ex | ||
| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} |
Copilot
AI
Dec 4, 2025
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.
Security concern: Docker credentials are being exposed in workflow logs. Consider using docker login --password-stdin to avoid passing credentials via command-line arguments. Example:
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u rocmshared --password-stdin| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} | |
| echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u rocmshared --password-stdin |
| IMAGE_TAG=rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }} | ||
| docker build --network=host --no-cache -t $IMAGE_TAG -f Dockerfile.mod . | ||
| - name: Push Docker image | ||
| run: | | ||
| IMAGE_TAG=rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }} | ||
| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} | ||
| docker push $IMAGE_TAG | ||
| - name: Success message | ||
| run: | | ||
| echo "Successfully prepared image: rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }}" |
Copilot
AI
Dec 4, 2025
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.
Inconsistent naming: The image tag uses pre-build- prefix here, but in vllm_benchmark.yaml the image is expected with just the commit SHA (no pre-build- prefix). This will cause the image pull in vllm_benchmark.yaml to fail.
The vllm_benchmark.yaml expects: rocm/aiter-ci:${{ env.GITHUB_COMMIT_SHA }}
But this creates: rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }}
Either remove the pre-build- prefix here or update vllm_benchmark.yaml to include it.
| IMAGE_TAG=rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }} | |
| docker build --network=host --no-cache -t $IMAGE_TAG -f Dockerfile.mod . | |
| - name: Push Docker image | |
| run: | | |
| IMAGE_TAG=rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }} | |
| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} | |
| docker push $IMAGE_TAG | |
| - name: Success message | |
| run: | | |
| echo "Successfully prepared image: rocm/aiter-ci:pre-build-${{ env.GITHUB_COMMIT_SHA }}" | |
| IMAGE_TAG=rocm/aiter-ci:${{ env.GITHUB_COMMIT_SHA }} | |
| docker build --network=host --no-cache -t $IMAGE_TAG -f Dockerfile.mod . | |
| - name: Push Docker image | |
| run: | | |
| IMAGE_TAG=rocm/aiter-ci:${{ env.GITHUB_COMMIT_SHA }} | |
| docker login -u rocmshared -p ${{ secrets.DOCKER_PASSWORD }} | |
| docker push $IMAGE_TAG | |
| - name: Success message | |
| run: | | |
| echo "Successfully prepared image: rocm/aiter-ci:${{ env.GITHUB_COMMIT_SHA }}" |
5f50cda to
466a9e3
Compare
No description provided.