Files
retroSoC/CONTRIBUTING.md
T
maksyuki 5d61b7e90a refactor: refactor RTL paths and update test descriptions
- Updated RTL paths in various files to remove the 'ribp' prefix, reflecting the new directory structure.
- Modified test descriptions to remove version indicators (e.g., V2, V3) for clarity and consistency.
- Adjusted file references in scripts and tests to align with the new peripheral and multimedia directory structure.
- Added a new test to ensure repository layout invariants, confirming the absence of deprecated paths.
2026-08-13 13:41:52 +08:00

1.6 KiB

Contributing

Read AGENTS.md and the MISRA C:2012 Amendment 2 policy before changing self-owned embedded C. Run the applicable quality gates before opening a pull request:

python3 -m pip install --requirement requirements/ci.txt
make sw-format-check
make sw-policy-check
make sw-host-test
ruff check .
python3 -m pytest -q
yamllint .github .yamllint.yml
python3 scripts/regress.py --root . --suite pr --dry-run

The automated C checks enforce a partial subset of the documented MISRA baseline. Required-rule deviations need reviewed records in quality/misra/deviations.md; Mandatory rules are not waived.

For build changes, use a committed profile and keep generated files below build/ or .cache/. Do not add new downloads directly to workflow YAML or setup scripts. Add the source or archive to dependencies/dependencies.lock.json, use the shared dependency helpers, and include a full Git commit or SHA-256 checksum.

The supported pull-request regression is:

make CONFIG=configs/ci/hazard3-rv32im-ihp130.mk setup
make regress-pr

Warning baseline changes must be reviewed separately from implementation changes. Regenerate only the affected profile/tool file, inspect every normalized signature, and explain additions in the pull request. Metrics remain observational until ten successful main runs have been collected and promoted according to docs/engineering.md.

Changes to the dependency lock, CI workflows, warning policy, metrics policy, or release packaging require the owners listed in .github/CODEOWNERS.