WIP: Revamp of CI job docs: rules, only, except
What does this MR do?
This is a guide for using the rules
CI keyword, along with differences to only
/except
, and some tips on migrating from only
/except
to rules.
I adopted the strategy of writing out everything I know about the topic, a bit as if no other documentation exists for this. Then, when finished, I'll compare to the old documentation, remove duplication, crosslink for SSoT, and try to remove as much as possible from the YAML reference to keep it as simple/dry as possible.
Still a very rough WIP while working out ideas.
Potential things to include:
- More migration tips?
- What needs to be added/removed from the
rules
toonly
/except
"translation" table?
- What needs to be added/removed from the
- Move majority of
only
/except
documentation out of the main YAML reference to the end of this new doc, and crosslink? - Do we need more discussion about pipelines themselves, or is crosslinking enough? Is the pipelines page missing any details needed to make full use of
rules
? Should we have a clear list of "types" of pipelines that can be triggered, to be aware that "jobs can be added to all these pipelines" - What are the key pain points, and how can we address them in this doc without calling them pain points?
- How to deal with duplicate pipelines trouble. Explain it here in detail, and link from other pages for SSoT?
- How to bring in
workflow: rules
?- Engineering question: What happens when you mix
workflow: rules
with job-definedrules
?
- Engineering question: What happens when you mix
-
Need to add more crosslinking. -
Finalize section headers
Related issues
Related to #217446 (closed)
Author's checklist (required)
-
Follow the Documentation Guidelines and Style Guide. - If you have
developer
access or higher (for example, GitLab team members or Core Team members)-
Apply the documentation label, plus: - The corresponding DevOps stage and group label, if applicable.
-
development guidelines when changing docs under
doc/development/*
,CONTRIBUTING.md
, orREADME.md
. -
development guidelines and Documentation guidelines when changing docs under
development/documentation/*
. - development guidelines and Description templates (.gitlab/*) when creating/updating issue and MR description templates.
-
Assign the designated Technical Writer.
-
When applicable:
-
Update the permissions table. -
Link docs to and from the higher-level index page, plus other related docs where helpful. -
Add GitLab's version history note(s). -
Add the product tier badge. -
Add/update the feature flag section. -
If you're changing document headings, search doc/*
,app/views/*
, andee/app/views/*
for old headings replacing with the new ones to avoid broken anchors.
Review checklist
All reviewers can help ensure accuracy, clarity, completeness, and adherence to the Documentation Guidelines and Style Guide.
1. Primary Reviewer
-
Review by a code reviewer or other selected colleague to confirm accuracy, clarity, and completeness. This can be skipped for minor fixes without substantive content changes.
2. Technical Writer
-
Optional: Technical writer review. If not requested for this MR, must be scheduled post-merge. To request for this MR, assign the writer listed for the applicable DevOps stage. -
Add Technical Writing and docs::
workflow label. -
Add docs-only when the only files changed are under doc/*
.
-
3. Maintainer
-
Review by assigned maintainer, who can always request/require the above reviews. Maintainer's review can occur before or after a technical writer review. -
Ensure a release milestone is set. -
If there has not been a technical writer review, create an issue for one using the Doc Review template.