mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-18 09:23:26 -05:00
docs: ask contributors for the checks CI runs
This commit is contained in:
1 parent
2076874c16
commit
a06a742773
3 files changed
+40
-2
No files matched your search
+10
-1
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
Reference in new issue
Block a user