-
Notifications
You must be signed in to change notification settings - Fork 563
ci: enable docker test workflow #1016
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
c056354 to
cca2007
Compare
cca2007 to
7143ec4
Compare
ea1233a to
b3f072e
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
33e82c5 to
919ec68
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 enables the Docker test workflow by adding scheduled runs, push-on-tag triggers, and modernizing the Docker build process. The workflow now runs weekly on Sundays, on version tag pushes, and can be manually triggered.
Key Changes:
- Adds scheduled (weekly) and tag-based triggers to the workflow
- Modernizes Docker build process using official GitHub Actions
- Implements architecture-specific tagging using commit SHA
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Greptile OverviewGreptile SummaryEnabled the Docker test workflow to run on schedule (weekly), tag pushes, and manual dispatch. The workflow was previously mostly disabled with commented-out triggers. Key Changes:
|
| Filename | Score | Overview |
|---|---|---|
| .github/workflows/test-docker.yml | 5/5 | Enabled workflow with schedule/tag triggers, replaced env variables with job-level env, switched to docker/build-push-action, and fixed tagging to use commit SHA for all trigger types |
Sequence Diagram
sequenceDiagram
participant Trigger as Workflow Trigger<br/>(schedule/tag/manual)
participant GHA as GitHub Actions Runner
participant Docker as Docker Engine
participant Container as Test Container
participant Server as NeMo Guardrails Server
Trigger->>GHA: Trigger workflow
GHA->>GHA: Checkout code
GHA->>GHA: Detect runner architecture (uname -m)
GHA->>GHA: Set tag: IMAGE:SHA-ARCH
GHA->>Docker: Setup Buildx
GHA->>Docker: Build image with tag
Docker-->>GHA: Image built
GHA->>Container: Run container (port 8000)
Container->>Server: Start NeMo Guardrails
GHA->>Server: Poll health endpoint
Server-->>GHA: Ready
GHA->>Server: Check /v1/rails/configs (200?)
Server-->>GHA: HTTP 200
GHA->>Server: Run test requests
Server-->>GHA: Test responses
GHA->>Container: Stop container
GHA->>Container: Remove container
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.
1 file reviewed, no comments
66065a9 to
f2a9656
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
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
This pull request updates the
.github/workflows/test-docker.ymlworkflow to improve how Docker images are built and tested in CI. The changes make the workflow more flexible and robust by expanding its triggers, supporting architecture-specific builds, and using modern Docker build actions.Workflow trigger and environment improvements:
Dockerfile,pyproject.toml,poetry.lock, and the workflow itself), instead of only manual dispatch.Docker build process enhancements:
docker/setup-buildx-actionanddocker/build-push-actionto build images, replacing the previous manualdocker buildstep for better reliability and future extensibility.Related Issue(s)
Checklist