Skip to content
oss-kit
Install

CI runs the same lint, test, and build commands the contributing guide gives to humans

Rule
R-CI-02
Forge scope
GitHub and GitLab
Fixed by
oss-ci

When CI runs a different command than CONTRIBUTING.md documents, a contributor passes locally and fails in CI, and neither of you can tell which is authoritative.

Observable check

the CI configuration invokes every applicable lint, typecheck, test, and build command defined by the project's automation, and every command CONTRIBUTING.md gives a contributor runs in CI as the same underlying check. A CI job may reach a check through a different entry point than the documented one, such as a second runtime or a script the documented alias wraps, as long as the check itself runs; a documented command with no CI job behind it fails the rule.

Where this comes from

Last read against these sources on 2026-07-28.

OSPS-QA-06.01, Maturity 2-3: 'Prior to a commit being accepted, the project's CI/CD pipelines MUST run at least one automated test suite to ensure the changes meet expectations.' OSPS-QA-03.01 adds that automated status checks MUST pass or be manually bypassed. Neither mentions a version matrix, so this rule's matrix half has no upstream and is this standard's own position.

Read the whole standard