ci: add compliance checks
Summary
Added and fixed GitLab compliance checks for the Smart Bus Crowd Prediction project.
Changes
- Fixed invalid
.gitlab-ci.ymlformatting. - Added explicit CI stages for:
- format
- lint
- type_check
- security
- test
- coverage
- changelog
- Added CI jobs for:
- Ruff format check
- Ruff lint
- Flake8
- Pylint
- Vulture
- Mypy
- Semgrep
- Gitleaks secret scanning
- Bandit static security analysis
- pip-audit dependency audit
- Pytest
- Coverage reporting
- Git-Cliff changelog automation
- Added Semgrep to pre-commit hooks.
- Added Git-Cliff configuration.
- Added Flake8 configuration.
- Fixed Flake8 line-length issues in
app.pyandtests/test_app.py. - Fixed invalid
pytest-covdependency version. - Added coverage configuration.
- Ignored generated coverage artifacts.
Verification
- Ran tests locally.
- Result:
28 passed - Coverage:
92% - Confirmed no line-length violations above the configured Flake8 limit.
Notes
This MR improves repository compliance by adding CI automation, security scanning, dependency auditing, test execution, coverage reporting, and changelog automation.