Add CI workflow for backend, frontend, and Docker builds#10
Add CI workflow for backend, frontend, and Docker builds#10Davictory2003 wants to merge 1 commit intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request introduces a GitHub Actions CI workflow to automate testing and building of the backend, frontend, and Docker images. The workflow runs on pushes and pull requests to the main branch, with separate jobs for each component.
Changes:
- Added CI workflow with three jobs: backend validation/testing, frontend linting/building, and Docker image building
- Backend job runs Django checks and tests using Python 3.14
- Frontend job runs ESLint and builds the application using Node.js 20
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Lint | ||
| run: npx eslint src/ | ||
|
|
There was a problem hiding this comment.
The lint step runs npx eslint src/ but there is no ESLint configuration file in the frontend directory. ESLint 9.x requires an explicit configuration file (eslint.config.js or eslint.config.mjs). Without a configuration file, this step will fail with "No files matching the pattern were found" or a similar error. Either add an ESLint configuration file or remove this step from the CI workflow.
| - name: Lint | |
| run: npx eslint src/ |
| - name: Run tests | ||
| run: python manage.py test --verbosity=2 | ||
| env: | ||
| DJANGO_DEBUG: "True" | ||
|
|
There was a problem hiding this comment.
The backend test step runs python manage.py test but there are no test files in the backend directory. Django's test runner will report "Ran 0 tests" and pass, which could give a false sense of test coverage. Consider either removing this step until tests are added, or adding at least a basic test to verify the workflow is functioning correctly.
| - name: Run tests | |
| run: python manage.py test --verbosity=2 | |
| env: | |
| DJANGO_DEBUG: "True" |
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.14" | ||
| cache: pip |
There was a problem hiding this comment.
The pip cache configuration may not work correctly because the working directory is set to backend, but the cache: pip option in setup-python looks for requirements.txt in the repository root by default. Consider adding cache-dependency-path: backend/requirements.txt to ensure pip caching works properly.
| cache: pip | |
| cache: pip | |
| cache-dependency-path: backend/requirements.txt |
No description provided.