docs: ask contributors for the checks CI runs

This commit is contained in:
Abdessamad Derraz committed 2026-10-18 09:45:55 +02:00
1 parent 2076874c16
commit a06a742773
3 files changed
+40 -2

No files matched your search

+10 -1
View File
@@ -41,11 +41,20 @@ Full walkthrough: [profiling guide](https://abdess.github.io/retrobios/wiki/prof
## Before opening a PR
The checks CI runs on a pull request (Python 3.12 or newer):
```bash
pip install pyyaml "jsonschema[format-nongpl]"
python scripts/validate_pr.py --changed # the BIOS files the branch adds
python scripts/validate_schemas.py --source-only # profiles and platform files
python -m unittest discover -s tests -t .
python scripts/pipeline.py --offline
```
The full pipeline is not needed for a contribution: it rebuilds every pack
(about 35 GB in `dist/`) and needs the data directories fetched first
(`python scripts/refresh_data_dirs.py`), which is why maintainers run it
before a release.
## PR validation
CI computes SHA1/MD5/CRC32 for every new file, checks them against the platform
+10 -1
View File
@@ -721,11 +721,20 @@ Full walkthrough: [profiling guide]({link("wiki/profiling")}).
## Before opening a PR
The checks CI runs on a pull request (Python 3.12 or newer):
```bash
pip install pyyaml "jsonschema[format-nongpl]"
python scripts/validate_pr.py --changed # the BIOS files the branch adds
python scripts/validate_schemas.py --source-only # profiles and platform files
python -m unittest discover -s tests -t .
python scripts/pipeline.py --offline
```
The full pipeline is not needed for a contribution: it rebuilds every pack
(about 35 GB in `dist/`) and needs the data directories fetched first
(`python scripts/refresh_data_dirs.py`), which is why maintainers run it
before a release.
## PR validation
CI computes SHA1/MD5/CRC32 for every new file, checks them against the platform
+20
View File
@@ -51,5 +51,25 @@ class CoverageReadsTheGivenProfiles(unittest.TestCase):
)
self.assertEqual(seen, ["elsewhere"])
class BeforeOpeningAPullRequest(unittest.TestCase):
"""The section asked for the full pipeline: on a fresh fork, without
data/, it rebuilt 35 GB of packs and then failed on the data
directories, while CI asks for three checks."""
def test_it_lists_the_checks_ci_runs_and_not_the_pipeline(self):
import re as _re
text = (REPO_ROOT / "CONTRIBUTING.md").read_text(encoding="utf-8")
section = text.split("## Before opening a PR", 1)[1].split("\n## ", 1)[0]
block = _re.search(r"```bash\n(.*?)```", section, _re.S).group(1)
for command in ("validate_pr.py --changed", "validate_schemas.py --source-only",
"unittest discover"):
self.assertIn(command, block)
self.assertNotIn("pipeline.py", block)
workflow = (REPO_ROOT / ".github" / "workflows" / "validate.yml").read_text(encoding="utf-8")
self.assertIn("validate_schemas.py --source-only", workflow)
if __name__ == "__main__":
unittest.main()