You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
python manage.py test apps.analytics apps.blog apps.core apps.education apps.infosec -t .
80
+
```
81
+
82
+
> The `-t .` flag sets the test discovery top-level directory to the repo root so the
83
+
> `apps.*.models` packages import under their real dotted path.
84
+
85
+
In CI, the same suite runs against **PostgreSQL** using `eskoz.settings.ci`, to match
86
+
production.
87
+
88
+
## Continuous Integration & Releases
89
+
90
+
Everything from a merge to a published release is automated:
91
+
92
+
1.**On every pull request and push to `main`**, the `CI` workflow runs:
93
+
-**quality** — the full pre-commit suite;
94
+
-**tests** — the Django test suite against PostgreSQL.
95
+
96
+
2.**Versioning is handled by [release-please](https://github.com/googleapis/release-please).**
97
+
It does **not** release on every push. Instead, it reads the conventional commits
98
+
since the last release and opens (or updates) a **release pull request** containing
99
+
the version bump and the generated `CHANGELOG.md` entry.
100
+
101
+
3.**Merging that release PR** is the only thing that cuts a version. It creates the
102
+
git tag, the GitHub Release, bumps `eskoz/__init__.py`, and **builds and pushes the
103
+
Docker image to GHCR** (`ghcr.io/donasako/eskoz`, tagged `latest`, `vX.Y.Z`, `X.Y`).
104
+
105
+
A regular (or even force) push to `main` therefore never changes the version on its own
106
+
— only merging the release PR does.
107
+
32
108
## Code of Conduct
33
109
34
110
Please see our [Code of Conduct](.github/CODE_OF_CONDUCT.md) for guidelines on participating in the Eskoz community. By contributing, you agree to follow these rules to help maintain a welcoming and productive environment.
0 commit comments