72 lines
2.3 KiB
Markdown
72 lines
2.3 KiB
Markdown
# Developer Commit Guide
|
||
|
||
This guide explains exactly what to commit to source control for this repository, and what to keep out. It also includes a suggested commit message and safe commands to stage changes.
|
||
|
||
## Commit these files
|
||
|
||
### Core framework (source)
|
||
- `ecu_framework/config.py`
|
||
- `ecu_framework/lin/base.py`
|
||
- `ecu_framework/lin/mock.py`
|
||
- `ecu_framework/lin/babylin.py`
|
||
- `ecu_framework/flashing/hex_flasher.py`
|
||
|
||
### Pytest plugin and config
|
||
- `conftest_plugin.py`
|
||
Generates HTML columns, requirements coverage JSON, and CI summary
|
||
- `pytest.ini`
|
||
- `requirements.txt`
|
||
|
||
### Tests and fixtures
|
||
- `tests/conftest.py`
|
||
- `tests/test_smoke_mock.py`
|
||
- `tests/test_babylin_hardware_smoke.py` (if present)
|
||
- `tests/test_hardware_placeholder.py` (if present)
|
||
|
||
### Documentation
|
||
- `README.md`
|
||
- `TESTING_FRAMEWORK_GUIDE.md`
|
||
- `docs/README.md`
|
||
- `docs/01_run_sequence.md`
|
||
- `docs/02_configuration_resolution.md`
|
||
- `docs/03_reporting_and_metadata.md`
|
||
- `docs/04_lin_interface_call_flow.md`
|
||
- `docs/05_architecture_overview.md`
|
||
- `docs/06_requirement_traceability.md`
|
||
- `docs/07_flash_sequence.md`
|
||
- `docs/08_babylin_internals.md`
|
||
|
||
### Vendor guidance (no binaries)
|
||
- `vendor/README.md`
|
||
- Any headers in `vendor/` (if added per SDK)
|
||
|
||
### Housekeeping
|
||
- `.gitignore`
|
||
Ignores reports and vendor binaries
|
||
- `reports/.gitkeep`
|
||
Retains folder structure without committing artifacts
|
||
|
||
## Do NOT commit (ignored or should be excluded)
|
||
|
||
- Virtual environments: `.venv/`, `venv/`, etc.
|
||
- Generated test artifacts:
|
||
`reports/report.html`, `reports/junit.xml`, `reports/summary.md`, `reports/requirements_coverage.json`
|
||
<!-- - Vendor binaries: anything under `vendor/**` with `.dll`, `.lib`, `.pdb` keep them for now -->
|
||
- Python caches: `__pycache__/`, `.pytest_cache/`
|
||
- Local env files: `.env`
|
||
|
||
## Safe commit commands (PowerShell)
|
||
|
||
```powershell
|
||
# Stage everything except what .gitignore already excludes
|
||
git add -A
|
||
|
||
# Commit with a helpful message
|
||
git commit -m "ECU framework: docs, reporting plugin (HTML metadata + requirements JSON + CI summary), .gitignore updates"
|
||
```
|
||
|
||
## Notes
|
||
|
||
<!-- - Do not commit BabyLin DLLs or proprietary binaries. Keep only the placement/readme and headers. Keep them for now -->
|
||
- The plugin writes CI-friendly artifacts into `reports/`; they’re ignored by default but published in CI.
|