mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-22 20:55:29 -04:00
fix(devops): harden docker config defaults (#4349)
This commit is contained in:
+26
-26
@@ -22,8 +22,8 @@ markers only - it moves no files and changes no test behavior. Use them to run a
|
||||
focused slice:
|
||||
|
||||
```bash
|
||||
python3 -m pytest -m area_security
|
||||
python3 -m pytest -m "area_services and sub_cookbook"
|
||||
./venv/bin/python -m pytest -m area_security
|
||||
./venv/bin/python -m pytest -m "area_services and sub_cookbook"
|
||||
```
|
||||
|
||||
Areas are `security`, `routes`, `services`, `cli`, `js`, `helpers`, `unit`, and
|
||||
@@ -38,13 +38,13 @@ sub-area names, accepts sub-areas with or without the `sub_` prefix, and passes
|
||||
extra pytest arguments after `--`:
|
||||
|
||||
```bash
|
||||
python3 tests/run_focus.py --area security
|
||||
python3 tests/run_focus.py --area services --sub-area cookbook
|
||||
python3 tests/run_focus.py --sub-area sub_cookbook
|
||||
python3 tests/run_focus.py --keyword taxonomy
|
||||
python3 tests/run_focus.py --last-failed
|
||||
python3 tests/run_focus.py --dry-run --area services --sub-area cookbook
|
||||
python3 tests/run_focus.py --area services -- --maxfail=1 -q
|
||||
./venv/bin/python tests/run_focus.py --area security
|
||||
./venv/bin/python tests/run_focus.py --area services --sub-area cookbook
|
||||
./venv/bin/python tests/run_focus.py --sub-area sub_cookbook
|
||||
./venv/bin/python tests/run_focus.py --keyword taxonomy
|
||||
./venv/bin/python tests/run_focus.py --last-failed
|
||||
./venv/bin/python tests/run_focus.py --dry-run --area services --sub-area cookbook
|
||||
./venv/bin/python tests/run_focus.py --area services -- --maxfail=1 -q
|
||||
```
|
||||
|
||||
### Fast lane and duration visibility
|
||||
@@ -61,15 +61,15 @@ so you can see where time goes. They are reporting only and do not count as a
|
||||
focus selector, so `--durations` must be combined with a real selector
|
||||
(`--area`, `--sub-area`, `--keyword`, `--last-failed`, or `--fast`).
|
||||
|
||||
Activate or otherwise use the project Python environment before running these
|
||||
commands. The examples use `python3` intentionally to avoid hard-coding a local
|
||||
venv path.
|
||||
Use the project Python environment before running these commands. The examples
|
||||
use the repo's documented `./venv/bin/python` path so they do not accidentally
|
||||
fall back to system Python.
|
||||
|
||||
```bash
|
||||
python3 tests/run_focus.py --fast
|
||||
python3 tests/run_focus.py --area services --fast
|
||||
python3 tests/run_focus.py --area services --durations 25
|
||||
python3 tests/run_focus.py --area services --fast --durations 25 --durations-min 0.05
|
||||
./venv/bin/python tests/run_focus.py --fast
|
||||
./venv/bin/python tests/run_focus.py --area services --fast
|
||||
./venv/bin/python tests/run_focus.py --area services --durations 25
|
||||
./venv/bin/python tests/run_focus.py --area services --fast --durations 25 --durations-min 0.05
|
||||
```
|
||||
|
||||
The `slow` marker is opt-in. Mark a test `slow` only with duration evidence
|
||||
@@ -79,8 +79,8 @@ replace the full suite before merge. A `slow` mark only excludes a test from the
|
||||
fast lane; the test stays runnable directly, e.g.:
|
||||
|
||||
```bash
|
||||
python3 -m pytest tests/test_auth_config_lock_concurrency.py
|
||||
python3 -m pytest -m slow
|
||||
./venv/bin/python -m pytest tests/test_auth_config_lock_concurrency.py
|
||||
./venv/bin/python -m pytest -m slow
|
||||
```
|
||||
|
||||
## Order-sensitivity reporting (report-only)
|
||||
@@ -93,8 +93,8 @@ ordering - the shuffle exists only inside this runner. The seed is always
|
||||
printed, and pytest targets/options go after a literal `--`:
|
||||
|
||||
```bash
|
||||
python3 tests/run_order_report.py --seed 123 -- tests/cli/ -q
|
||||
python3 tests/run_order_report.py -- tests/cli/ -q # generates and prints a seed
|
||||
./venv/bin/python tests/run_order_report.py --seed 123 -- tests/cli/ -q
|
||||
./venv/bin/python tests/run_order_report.py -- tests/cli/ -q # generates and prints a seed
|
||||
```
|
||||
|
||||
The same seed reproduces the same order when the reported working directory,
|
||||
@@ -108,7 +108,7 @@ A generated-seed run starts with output like:
|
||||
[order-report] working directory: /path/to/odysseus
|
||||
[order-report] shuffling test order with seed 284734921
|
||||
[order-report] reproduce from this working directory with the same test environment:
|
||||
[order-report] reproduce with: /path/to/odysseus/.venv/bin/python /path/to/odysseus/tests/run_order_report.py --seed 284734921 -- tests/cli/ -q
|
||||
[order-report] reproduce with: /path/to/odysseus/venv/bin/python /path/to/odysseus/tests/run_order_report.py --seed 284734921 -- tests/cli/ -q
|
||||
```
|
||||
|
||||
Run the printed command from the reported working directory to reproduce the
|
||||
@@ -118,7 +118,7 @@ same fixed-seed order:
|
||||
[order-report] working directory: /path/to/odysseus
|
||||
[order-report] shuffling test order with seed 284734921
|
||||
[order-report] reproduce from this working directory with the same test environment:
|
||||
[order-report] reproduce with: /path/to/odysseus/.venv/bin/python /path/to/odysseus/tests/run_order_report.py --seed 284734921 -- tests/cli/ -q
|
||||
[order-report] reproduce with: /path/to/odysseus/venv/bin/python /path/to/odysseus/tests/run_order_report.py --seed 284734921 -- tests/cli/ -q
|
||||
```
|
||||
|
||||
Pytest output remains visible between the report header and footer. A failing
|
||||
@@ -237,10 +237,10 @@ helpers:
|
||||
Run validation locally before opening or approving a PR. Practical checks:
|
||||
|
||||
- `git diff --check` - catch whitespace and conflict-marker errors.
|
||||
- `python3 -m py_compile <changed files>` - confirm changed files compile.
|
||||
- Focused `pytest` on the changed test files.
|
||||
- `pytest` on neighboring or order-sensitive test groups that share import
|
||||
state with the changed files.
|
||||
- `./venv/bin/python -m py_compile <changed files>` - confirm changed files compile.
|
||||
- Focused `./venv/bin/python -m pytest` on the changed test files.
|
||||
- `./venv/bin/python -m pytest` on neighboring or order-sensitive test groups
|
||||
that share import state with the changed files.
|
||||
- `grep` for the old boilerplate when replacing it, to confirm no stragglers
|
||||
remain.
|
||||
- A fresh audit worktree when changing the helpers themselves, so stale
|
||||
|
||||
Reference in New Issue
Block a user