README.md (1604B)
1 # Example 01 — Pylint + Pytest + Coverage 2 3 This Jaypore CI example runs three checks on a Django project: 4 5 | Step | Tool | What it does | 6 |------|------|--------------| 7 | 1 | **Pylint** | Static analysis of the `core/` app. | 8 | 2 | **Pytest** | Runs the test suite. | 9 | 3 | **Coverage** | Generates a terminal summary and an HTML coverage report. | 10 11 ## Artifacts produced 12 13 | File | Description | 14 |------|-------------| 15 | `pylint-report.txt` | Full Pylint output. | 16 | `pytest-results.txt` | Pytest output including the coverage summary. | 17 | `htmlcov/index.html` | Browsable HTML coverage report. | 18 19 ## Project layout assumed 20 21 ``` 22 your-repo/ 23 ├── manage.py 24 ├── mysite/ 25 │ └── settings.py 26 ├── core/ # the Django app under test 27 └── .jci/ 28 └── run.sh # ← this script 29 ``` 30 31 ## How to use 32 33 1. Copy the `.jci/` directory into your Django project's repository root: 34 35 ```bash 36 cp -r 01-pylint-pytest-coverage/.jci /path/to/your-repo/.jci 37 ``` 38 39 2. Make sure the required Python packages are installed: 40 41 ```bash 42 pip install pylint pytest pytest-cov pytest-django 43 ``` 44 45 3. Run Jaypore CI: 46 47 ```bash 48 git jci run 49 ``` 50 51 Jaypore CI will execute `.jci/run.sh`, and the generated artifacts will be 52 available in the CI output directory. 53 54 ## Customisation 55 56 - **Different app name** — replace `core` with your app name in `run.sh`. 57 - **Different settings module** — change `mysite.settings` to match yours. 58 - **Fail on lint score** — remove `|| true` after the `pylint` command to make 59 the build fail when Pylint reports issues.