Skip to content

Add CI pipeline: ruff, pytest, pip-audit, and a mypy baseline#198

Open
gokturkbrk wants to merge 1 commit into
mainfrom
feature/186-cicd-dependency-scanning-and-mypy-baseline
Open

Add CI pipeline: ruff, pytest, pip-audit, and a mypy baseline#198
gokturkbrk wants to merge 1 commit into
mainfrom
feature/186-cicd-dependency-scanning-and-mypy-baseline

Conversation

@gokturkbrk

Copy link
Copy Markdown
Collaborator

Stands up .github/workflows/ci.yml on every PR, reusing the project's own dev compose stack so CI matches local dev exactly. pytest (all non-integration tests, no live GeoServer needed) is a real merge gate. Ruff, pip-audit, and mypy run and report on every PR but are non-blocking for now: ruff surfaced 44 pre-existing violations repo- wide, pip-audit found 14 known vulnerabilities in transitive deps, and mypy (no django-stubs yet) has ~117 findings. Flip each to blocking once its backlog is addressed, so these don't silently stay report-only forever. Also adds Dependabot for uv, GitHub Actions, and the Django Dockerfile.
Includes an unrelated one-line test fix discovered while validating CI against a freshly migrated database: test_taxonomy_dimension_auto_ assigns_sort_order asserted hardcoded sort_order values, which don't hold once the taxonomy data-seed migration has run.

Summary

  • Description of changes
  • Related issue link

Testing

  • uv run pytest
  • Other (describe)

Stands up .github/workflows/ci.yml on every PR, reusing the project's own dev compose stack so CI matches local dev exactly. pytest (all non-integration tests, no live GeoServer needed) is a real merge gate. Ruff, pip-audit, and mypy run and report on every PR but are non-blocking for now: ruff surfaced 44 pre-existing violations repo- wide, pip-audit found 14 known vulnerabilities in transitive deps, and mypy (no django-stubs yet) has ~117 findings. Flip each to blocking once its backlog is addressed, so these don't silently stay report-only forever. Also adds Dependabot for uv, GitHub Actions, and the Django Dockerfile.
Includes an unrelated one-line test fix discovered while validating CI against a freshly migrated database: test_taxonomy_dimension_auto_ assigns_sort_order asserted hardcoded sort_order values, which don't hold once the taxonomy data-seed migration has run.
@gokturkbrk gokturkbrk self-assigned this Jul 9, 2026
@gokturkbrk gokturkbrk linked an issue Jul 9, 2026 that may be closed by this pull request
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI/CD, dependency scanning, and mypy baseline

1 participant