require-gitlab-ci-default-timeout
Require default.timeout in GitLab CI configuration.
Targeted pattern scopeâ
This rule checks .gitlab-ci.yml (or .gitlab-ci.yaml) and verifies that a root-level default: block contains timeout:.
What this rule reportsâ
This rule reports GitLab CI configs that do not define a pipeline-wide default timeout baseline.
Why this rule existsâ
GitLab CI supports timeout in pipeline configuration. Setting a default.timeout baseline reduces risk of long-running or stuck jobs without explicit per-job limits.
â Incorrectâ
stages:
- test
test:
script:
- npm test
â Correctâ
default:
timeout: 30m
stages:
- test
test:
script:
- npm test
ESLint flat config exampleâ
import repoPlugin from "eslint-plugin-repo";
export default [
repoPlugin.configs.gitlab,
{
plugins: { "repo-compliance": repoPlugin },
rules: {
"repo-compliance/require-gitlab-ci-default-timeout": "error",
},
},
];
When not to use itâ
Disable this rule only if timeout policy is intentionally managed outside repository CI config.
Rule catalog ID: R035