Scrum 151 ci cd with GitHub actions#16
Conversation
…irement in `requirements.txt`
|
Model evaluation metrics on 3 subsets:
You can view full task results here |
|
Model evaluation metrics on 3 subsets:
You can view full task results here |
There was a problem hiding this comment.
Pull Request Overview
This PR enhances the CI/CD pipeline for the SyntaxSquad ML Pipeline by updating dependency versions, refactoring Python reporting logic, and consolidating GitHub Actions workflows for improved automation.
- Updated dependency definitions in requirements.txt to use flexible specifiers.
- Refactored pipeline reporting functions to generate clearer PR comments and added a new "get_reported_table" function.
- Adjusted workflow steps in the GitHub Actions pipeline, including splitting job responsibilities and increasing the wait time for FastAPI startup.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| serving/requirements.txt | Updated dependency specifications for FastAPI and numpy. |
| cicd/pipeline_reports.py | Refactored functions to improve reporting of ClearML task metrics. |
| .github/workflows/pipeline.yaml | Modified CI/CD workflow steps and added a new job to test remote tasks, updated deployment wait time. |
| .github/workflows/ci.yaml | Removed outdated CI workflow configuration as it's been consolidated. |
| fastapi==0.115.12 | ||
| numpy==2.2.6 | ||
| fastapi[standard] | ||
| numpy == 1.26.4 |
There was a problem hiding this comment.
Consider removing the extra space around '==' in the numpy dependency to avoid potential installation issues; it should be 'numpy==1.26.4'.
| numpy == 1.26.4 | |
| numpy==1.26.4 |
| sleep 240 # Wait for 4 minutes to start the server and download artifacts | ||
| curl -f http://localhost:$FASTAPI_PORT/health || exit 1 # Verify the server is running |
There was a problem hiding this comment.
Instead of a fixed long sleep duration, consider implementing a polling mechanism to check for FastAPI server readiness to optimize pipeline execution time.
| sleep 240 # Wait for 4 minutes to start the server and download artifacts | |
| curl -f http://localhost:$FASTAPI_PORT/health || exit 1 # Verify the server is running | |
| # Poll the FastAPI server's health endpoint until it is ready or timeout is reached | |
| for i in {1..60}; do # Retry up to 60 times (1 minute timeout with 1-second intervals) | |
| if curl -f http://localhost:$FASTAPI_PORT/health; then | |
| echo "FastAPI server is ready!" | |
| break | |
| fi | |
| echo "Waiting for FastAPI server to be ready... (attempt $i)" | |
| sleep 1 | |
| done | |
| if ! curl -f http://localhost:$FASTAPI_PORT/health; then | |
| echo "FastAPI server failed to start within the timeout period." | |
| exit 1 | |
| fi |
No description provided.