-
Notifications
You must be signed in to change notification settings - Fork 0
Fix/cleanup ci #102
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
Fix/cleanup ci #102
Conversation
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 pull request simplifies the CI/CD pipeline by removing AWS-specific deployment workflows and replacing them with Railway-focused deployment automation. The changes split a monolithic workflow into modular, single-purpose workflows for testing, security scanning, linting, and deployment.
Key Changes:
- Removed AWS-based deployment workflows (ci-cd.yml and ci-cd-fixed.yml) that used OIDC authentication, ECR, and SAM deployment
- Added four new lightweight workflows: test.yml, security.yml, lint.yml, and deploy.yml targeting Railway platform
- Cleaned up .gitignore by removing duplicate entry
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| .gitignore | Attempted to add duplicate entry for neurobank-fastapi.code-workspace |
| .github/workflows/test.yml | New workflow for running pytest tests on PRs and feature branches |
| .github/workflows/security.yml | New workflow for running Bandit and Safety security scans |
| .github/workflows/lint.yml | New workflow for code formatting checks using Black and isort |
| .github/workflows/deploy.yml | New workflow for automated Railway deployment on main branch pushes |
| .github/workflows/ci-cd.yml | Removed complex AWS-based CI/CD pipeline with OIDC, ECR, and SAM |
| .github/workflows/ci-cd-fixed.yml | Removed alternative AWS deployment workflow |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 |
Copilot
AI
Dec 11, 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 action version used here (actions/checkout@v4) is inconsistent with the version used in the existing codeql.yml workflow (actions/checkout@v6). For consistency across the CI/CD pipeline, consider using the same version across all workflows.
| - uses: actions/checkout@v4 | |
| - uses: actions/checkout@v6 |
| branches: [main] | ||
|
|
||
| jobs: | ||
| deploy: |
Copilot
AI
Dec 11, 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 deploy job lacks a dependency on the test and security jobs. This means deployment can proceed even if tests fail or security scans detect issues. Consider adding a 'needs' clause to ensure deployment only happens after successful validation, similar to the pattern used in the removed ci-cd.yml workflow.
| deploy: | |
| deploy: | |
| needs: [test, security] |
|
|
||
| - name: Install Railway CLI | ||
| run: | | ||
| curl -fsSL https://railway.app/install.sh | sh |
Copilot
AI
Dec 11, 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 Railway CLI installation script does not add the Railway binary to the PATH. After installation, the binary needs to be added to PATH to be accessible. Consider adding 'echo "$HOME/.railway/bin" >> $GITHUB_PATH' after the installation command, or use a composite action that handles this properly.
| curl -fsSL https://railway.app/install.sh | sh | |
| curl -fsSL https://railway.app/install.sh | sh | |
| echo "$HOME/.railway/bin" >> $GITHUB_PATH |
| @@ -0,0 +1,29 @@ | |||
| name: CI – Security Scan | |||
Copilot
AI
Dec 11, 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 convention for workflow names. This workflow uses an en dash (–) in "CI – Security Scan" while lint.yml uses a hyphen (-) in "CI - Lint". For consistency, use the same separator across all workflow names.
| name: CI – Security Scan | |
| name: CI - Security Scan |
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 |
Copilot
AI
Dec 11, 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 action version used here (actions/setup-python@v5) is inconsistent with the version used in the existing codeql.yml workflow (actions/checkout@v6). For consistency across the CI/CD pipeline, consider using the same version across all workflows.
| uses: actions/checkout@v4 | |
| uses: actions/checkout@v6 |
| - name: Run unit tests | ||
| run: pytest -q --disable-warnings --maxfail=1 |
Copilot
AI
Dec 11, 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 test execution is missing coverage reporting. The removed ci-cd.yml workflow included coverage reporting with codecov upload, which provided visibility into test coverage metrics. Consider adding coverage reporting back to maintain visibility into code coverage.
| lint: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 |
Copilot
AI
Dec 11, 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 action version used here (actions/checkout@v4) is inconsistent with the version used in the existing codeql.yml workflow (actions/checkout@v6). For consistency across the CI/CD pipeline, consider using the same version across all workflows.
| - uses: actions/checkout@v4 | |
| - uses: actions/checkout@v6 |
| lint: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 |
Copilot
AI
Dec 11, 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 action version used here (actions/setup-python@v5) is inconsistent with the version used in the existing codeql.yml workflow (actions/checkout@v6). For consistency across the CI/CD pipeline, consider using the same version across all workflows.
| - uses: actions/checkout@v4 | |
| - uses: actions/checkout@v6 |
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 |
Copilot
AI
Dec 11, 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 action version used here (actions/checkout@v4) is inconsistent with the version used in the existing codeql.yml workflow (actions/checkout@v6). For consistency across the CI/CD pipeline, consider using the same version across all workflows.
| - uses: actions/checkout@v4 | |
| - uses: actions/checkout@v6 |
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 |
Copilot
AI
Dec 11, 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 action version used here (actions/checkout@v4) is inconsistent with the version used in the existing codeql.yml workflow (actions/checkout@v6). For consistency across the CI/CD pipeline, consider using the same version across all workflows.
| uses: actions/checkout@v4 | |
| uses: actions/checkout@v6 |
Neiland85
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.
Merging is blocked
All comments must be resolved.
🚀 Pull Request: Complete Railway Deployment Optimization
📋 Descripción del Cambio
Este PR implementa la solución completa para el problema de crashes de Railway después de 2 minutos, junto con la funcionalidad completa del dashboard administrativo para el sistema bancario NeuroBank FastAPI.
🎯 Problema Solucionado
✅ Solución Implementada
🔧 Cambios Técnicos Implementados
🚂 Railway Deployment
railway.json] Configuración con health checks y restart policiesstart.sh] Script de inicio inteligente con validacionesDockerfile] Optimización single worker + uvloop📊 Admin Dashboard
admin_transactions.html] Panel transacciones completo con Chart.jsadmin_users.html] Gestión usuarios con búsqueda en tiempo realadmin_reports.html] Reportes avanzados con exportación CSV/Excelrouter.py] Conexiones específicas (no más templates genéricos)🔄 CI/CD Pipeline
.github/workflows/production-pipeline.yml] Pipeline de 8 etapas📚 Documentation Suite
HOTFIX_RAILWAY_CRASH.md] Análisis técnico del problema RailwayWORKFLOW.md] Procedimientos de desarrolloGIT_COMMANDS_HOTFIX.md] Comandos de despliegue🧪 Testing & Validation
✅ Funcionalidad Validada
/healthoperativo🔒 Security Checks
⚡ Performance Tests
🎯 Business Impact
🚀 Deployment Instructions
Pre-merge Checklist
RAILWAY_TOKENconfigurado en GitHub SecretsPost-merge Actions
main👥 Review Requirements
🔍 Areas de Focus para Review
railway.jsonystart.sh🎯 Expected Reviewers
📝 Additional Notes
🔄 Future Improvements
📚 Related Documentation
✅ Ready to Merge Criteria
🎉 Este PR convierte NeuroBank FastAPI en una aplicación bancaria de nivel empresarial con despliegue automático y funcionalidad completa!