Term extraction: Build your application (CI/CD) - candidate list
#### Context Part of the EN baseline term extraction (#916+). The hub and sub-pages of the [Use CI/CD to build your application](https://docs.gitlab.com/topics/build_your_application/) section were scanned for terminology candidates. Pages processed: - Hub: `doc/topics/build_your_application.md` - `doc/ci/_index.md` (Getting started) - `doc/ci/runners/_index.md` - `doc/ci/pipelines/_index.md` - `doc/ci/jobs/_index.md` - `doc/ci/components/_index.md` - `doc/ci/variables/_index.md` - `doc/ci/pipeline_security/_index.md` - `doc/topics/autodevops/_index.md` - `doc/ci/testing/_index.md` - `doc/ci/gitlab_google_cloud_integration/_index.md` - `doc/ci/ci_cd_for_external_repos/_index.md` **Scope note:** extraction was limited to the section `_index` pages listed above — one level below the hub. Sub-pages (e.g. Scheduled pipelines, Types of pipelines, Compute minutes, Pipeline architectures) were not scanned. Additional scope needs to be defined for a deeper pass. Each candidate was evaluated against the extraction criteria in [`terminology_artifacts/term-brief.md`](https://gitlab.com/gitlab-com/localization/docs-site-localization/-/blob/main/terminology_artifacts/term-brief.md) using the 8-criteria framework (2+ criteria required) plus the translation-risk test. Criteria: 1=Terminologization, 2=Confusability, 3=Specialization, 4=Frequency, 5=Visibility, 6=Novelty, 7=System relationships, 8=Standardization potential. CI/CD terms already covered in #923 and the pilot TBX are not repeated here. @maud-L , before we proceed to writing TBX briefs and entries, your guidance is needed on: 1. Which terms should be included vs. skipped 2. For flagged Quickterm situations in the Notes column — add a comment or resolution #### How to review 1. **Read the table** 2. **Work through the checklist at the bottom** - check the box to include a term in the TBX, leave it unchecked to skip it. 3. **Add an inline comment on a checklist line** if you have a question, a different FR suggestion, or a reason for skipping. #### Extracted terms <table> <tr> <th>Term</th> <th>File(s)</th> <th>Count</th> <th>In Quickterm</th> <th>FR (from Quickterm)</th> <th>Notes</th> </tr> <tr> <td>stage</td> <td>doc/ci/pipelines/_index.md, doc/ci/jobs/_index.md, doc/ci/_index.md</td> <td>~40</td> <td>Yes (Preferred)</td> <td>étape (Preferred — FR stored on "pipeline stage" admitted row in Quickterm)</td> <td>Critical false friend: French <em>stage</em> = internship. GitLab sense = a named execution phase grouping jobs. Quickterm confirms FR = "étape" (Preferred). Criteria: 1,2,3,4,7,8.</td> </tr> <tr> <td>downstream pipeline</td> <td>doc/ci/pipelines/_index.md, doc/ci/jobs/_index.md</td> <td>~17</td> <td>No</td> <td></td> <td><code>downstream</code> alone → <code>downstream</code> (DNT, Preferred) in Quickterm, but <code>upstream</code> → <code>en amont</code>. The pair has inconsistent treatment — needs resolution together. Criteria: 1,2,3,4,7,8.</td> </tr> <tr> <td>upstream pipeline</td> <td>doc/ci/pipelines/_index.md</td> <td>~4</td> <td>No</td> <td></td> <td>Complement to downstream pipeline. <code>upstream</code> → <code>en amont</code> in Quickterm but <code>downstream</code> = DNT. Must be resolved as a pair. Criteria: 1,2,3,7,8.</td> </tr> <tr> <td>parent-child pipeline</td> <td>doc/ci/pipelines/_index.md</td> <td>~8</td> <td>Yes</td> <td>pipeline parent-enfant (Preferred)</td> <td>Specific GitLab pipeline architecture: a pipeline that triggers child pipelines within the same project. Distinct from multi-project pipeline. FR confirmed by Quickterm: <em>pipeline parent-enfant</em>. Criteria: 1,3,4,7,8.</td> </tr> <tr> <td>multi-project pipeline</td> <td>doc/ci/pipelines/_index.md</td> <td>~5</td> <td>Yes (no FR)</td> <td></td> <td>Pipeline spanning multiple GitLab projects. Distinct from parent-child pipeline. Entry exists in Quickterm but FR is empty. Criteria: 1,3,4,7,8.</td> </tr> <tr> <td>merge request pipeline</td> <td>doc/ci/pipelines/_index.md, doc/ci/_index.md</td> <td>~12</td> <td>Yes (no FR)</td> <td></td> <td>Pipeline triggered specifically by MR events. Entry in Quickterm, FR empty. Compound is doubly unstable: both <em>merge request</em> and <em>pipeline</em> have translation debates. Criteria: 1,3,4,5,7,8.</td> </tr> <tr> <td>merged results pipeline</td> <td>doc/ci/pipelines/_index.md</td> <td>~5</td> <td>Yes</td> <td>pipeline de résultats de merge (Preferred)</td> <td>Runs as if the source branch has already been merged. High confusability with merge request pipeline — translators may not distinguish the two. Criteria: 1,2,3,7,8.</td> </tr> <tr> <td>merge train</td> <td>doc/ci/pipelines/_index.md</td> <td>~4</td> <td>Yes</td> <td>merge train (Preferred, DNT)</td> <td>Queue mechanism for serial merging using merged results pipelines. Quickterm confirms DNT. Criteria: 1,2,3,6,7.</td> </tr> <tr> <td>pipeline schedule</td> <td>doc/ci/pipelines/_index.md, doc/ci/variables/_index.md</td> <td>~8</td> <td>Yes</td> <td>planification de pipeline (Preferred)</td> <td>A configured object that triggers a pipeline at a defined time (cron-like). Distinct from simply 'scheduling.' Criteria: 1,3,4,5,8.</td> </tr> <tr> <td>pipeline trigger</td> <td>doc/ci/pipelines/_index.md, doc/ci/jobs/_index.md</td> <td>~10</td> <td>Yes (no FR)</td> <td></td> <td>Both a concept (triggering a pipeline) and a mechanism (the trigger object). FR entry in Quickterm but empty. FR: <em>déclencheur</em> (generic) vs. <em>trigger</em> (EN borrow) — known FR inconsistency. Criteria: 1,2,3,4,7,8.</td> </tr> <tr> <td>pipeline trigger token / trigger token</td> <td>doc/ci/pipelines/_index.md</td> <td>~6</td> <td>Yes</td> <td>token pour déclencheur (Preferred)</td> <td>An authentication token used to trigger a pipeline via the API. Distinct from job token and deploy token. Quickterm: Preferred EN = "pipeline trigger token" (Full form); "trigger token" is Admitted abbreviated form. FR = <em>token pour déclencheur</em> (Preferred). Criteria: 1,2,3,4,7,8.</td> </tr> <tr> <td>trigger job</td> <td>doc/ci/jobs/_index.md, doc/ci/pipelines/_index.md</td> <td>~6</td> <td>No</td> <td></td> <td>A CI/CD job whose purpose is to trigger a downstream pipeline (uses the <code>trigger:</code> keyword). Distinct from a regular job. Not in Quickterm. FR: <em>tâche déclencheuse</em> or <em>job déclencheur</em> — high ambiguity. Criteria: 1,3,7,8.</td> </tr> <tr> <td>pipeline subscription</td> <td>doc/ci/pipelines/_index.md</td> <td>~4</td> <td>No</td> <td></td> <td>Mechanism for subscribing a downstream project to trigger a pipeline when an upstream project's tag pipeline completes. 'Subscription' has a billing/SaaS connotation — high confusability. Not in Quickterm. Criteria: 1,3,7,8.</td> </tr> <tr> <td>CI/CD variable</td> <td>doc/ci/variables/_index.md, doc/ci/_index.md, doc/ci/pipelines/_index.md</td> <td>~60</td> <td>Yes</td> <td>variable CI/CD (Preferred)</td> <td>Word order inverted in FR — easy to get wrong without guidance. Criteria: 1,2,3,4,8.</td> </tr> <tr> <td>predefined variable</td> <td>doc/ci/variables/_index.md, doc/ci/_index.md</td> <td>~15</td> <td>Yes (plural)</td> <td>variables prédéfinies (Preferred)</td> <td>Variables set automatically by GitLab before a job runs. Must be paired consistently with custom variable. Criteria: 1,3,4,5,8.</td> </tr> <tr> <td>custom variable</td> <td>doc/ci/variables/_index.md, doc/ci/_index.md</td> <td>~8</td> <td>No</td> <td></td> <td>User-created CI/CD variable, as opposed to a predefined one. Forms a pair with predefined variable — must be translated consistently. Not in Quickterm. FR: <em>variable personnalisée</em> is likely. Criteria: 1,3,4,7,8.</td> </tr> <tr> <td>masked variable</td> <td>doc/ci/variables/_index.md</td> <td>~8</td> <td>Yes</td> <td>variable masquée (Preferred)</td> <td>Variable whose value is replaced by <code>[MASKED]</code> in job logs. One of three security variable types — must be kept distinct from protected and hidden. Criteria: 1,2,3,5,7,8.</td> </tr> <tr> <td>protected variable</td> <td>doc/ci/variables/_index.md, doc/ci/pipelines/_index.md</td> <td>~10</td> <td>Yes</td> <td>variable protégée (Preferred)</td> <td>Variable accessible only on protected branches/tags. Must be consistent with protected runner and distinct from masked and hidden. Criteria: 1,2,3,4,5,7,8.</td> </tr> <tr> <td>hidden variable</td> <td>doc/ci/variables/_index.md</td> <td>~4</td> <td>No</td> <td></td> <td>Newest of the three security variable types (GitLab 17.4+): prevents value from appearing in UI settings pages, beyond masking. High risk of being conflated with <em>variable masquée</em> in translation. Not in Quickterm. FR: <em>variable masquée</em> is already taken — needs a distinct term. Criteria: 1,2,3,6,7,8.</td> </tr> <tr> <td>CI/CD component</td> <td>doc/ci/components/_index.md, doc/ci/_index.md</td> <td>~100</td> <td>Partial</td> <td>composant CI/CD de prébuild (Preferred, as pre-built CI/CD component)</td> <td>Reusable, versioned single pipeline configuration unit (GA v17.0). No standalone Quickterm entry — only the compound <code>pre-built CI/CD component</code>. Criteria: 1,3,4,5,6,8.</td> </tr> <tr> <td>CI/CD Catalog</td> <td>doc/ci/components/_index.md</td> <td>~30</td> <td>Yes (as CI/CD catalog)</td> <td>catalogue CI/CD (Preferred)</td> <td>The GitLab marketplace for published CI/CD components. Criteria: 1,3,5,6,8.</td> </tr> <tr> <td>component project</td> <td>doc/ci/components/_index.md</td> <td>~15</td> <td>No</td> <td></td> <td>A GitLab project specifically structured to host CI/CD components. 'Project' is generic — 'component project' is a defined entity type. Not in Quickterm. FR: <em>projet de composant</em> risks confusion with any project containing components informally. Criteria: 1,3,6,8.</td> </tr> <tr> <td>CI/CD input</td> <td>doc/ci/components/_index.md, doc/ci/variables/_index.md, doc/ci/pipelines/_index.md</td> <td>~50</td> <td>Yes</td> <td>intrant CI/CD (Admitted); intrant GitLab CI/CD (Preferred)</td> <td>Typed, validated parameters passed to components and pipelines. Distinct from CI/CD variables — conflation is a key security risk. FR: Quickterm confirms <em>intrant</em>, which is unusual in tech — a translator may use <em>paramètre</em> or <em>entrée</em> without guidance. Criteria: 1,2,3,4,5,6,7,8.</td> </tr> <tr> <td>compliance pipeline</td> <td>doc/ci/pipelines/_index.md</td> <td>~3</td> <td>No</td> <td></td> <td>Pipeline configuration enforced by compliance frameworks that runs alongside project pipelines. Confusable with 'a pipeline that is compliant.' FR: <em>pipeline de conformité</em> vs. <em>pipeline réglementaire</em>. Criteria: 1,2,3,5,7.</td> </tr> <tr> <td>pipeline execution policy</td> <td>doc/ci/jobs/_index.md, doc/ci/variables/_index.md</td> <td>~6</td> <td>Yes</td> <td>stratégie d'exécution des pipelines (Preferred)</td> <td>Security policy that controls pipeline execution. Quickterm uses <em>stratégie</em> not <em>politique</em>. Must be paired consistently with scan execution policy. Criteria: 1,2,3,5,6,8.</td> </tr> <tr> <td>scan execution policy</td> <td>doc/ci/jobs/_index.md, doc/ci/pipelines/_index.md</td> <td>~5</td> <td>No</td> <td></td> <td>Security policy injecting security scan jobs into pipelines. Not in Quickterm — must follow the same <em>stratégie d'exécution de...</em> pattern as pipeline execution policy. Criteria: 1,2,3,5,7,8.</td> </tr> <tr> <td>supply chain security</td> <td>doc/ci/pipeline_security/_index.md</td> <td>~3</td> <td>No</td> <td></td> <td>Quickterm has related: <code>software supply chain</code> → <em>chaîne d'approvisionnement logicielle</em>. Risk: <em>chaîne logistique</em> (non-software supply chain) is a false friend. Criteria: 1,2,3,5,8.</td> </tr> <tr> <td>secrets management</td> <td>doc/ci/pipeline_security/_index.md, doc/ci/variables/_index.md</td> <td>~8</td> <td>No</td> <td></td> <td>System for securely storing sensitive credentials outside GitLab (Vault, Azure Key Vault, etc.). 'Secrets' as an IT security countable noun — FR <em>gestion des secrets</em> is natural but 'secret' in FR can feel informal. Not in Quickterm. Criteria: 1,2,3,5,8.</td> </tr> <tr> <td>job token</td> <td>doc/ci/jobs/_index.md, doc/ci/pipeline_security/_index.md</td> <td>~6</td> <td>Yes (two forms)</td> <td>token pour job CI/CD (as CI/CD job token, Preferred); token de job CI (as CI job token, Preferred)</td> <td>Short-lived authentication token created per job. Two Quickterm entries with slightly different FR — needs consolidation. Criteria: 1,2,3,4,5,8.</td> </tr> <tr> <td>DAST</td> <td>doc/ci/testing/_index.md, doc/topics/autodevops/_index.md</td> <td>~8</td> <td>Yes</td> <td>DAST (Admitted); test dynamique de sécurité des applications (Preferred)</td> <td>Dynamic Application Security Testing. Quickterm: abbreviation "DAST" kept as FR Admitted; full expansion "test dynamique de sécurité des applications" is FR Preferred. Criteria: 1,2,3,4,5,8.</td> </tr> <tr> <td>SAST</td> <td>doc/ci/testing/_index.md, doc/topics/autodevops/_index.md</td> <td>~5</td> <td>Yes</td> <td>SAST (Admitted); test statique de sécurité des applications (Preferred)</td> <td>Static Application Security Testing. Quickterm: abbreviation "SAST" kept as FR Admitted; full expansion "test statique de sécurité des applications" is FR Preferred. Criteria: 1,2,3,4,5,8.</td> </tr> <tr> <td>canary deployment</td> <td>doc/ci/pipelines/_index.md, doc/topics/autodevops/_index.md</td> <td>~5</td> <td>Yes (as canary)</td> <td>déploiement canari (Preferred)</td> <td>Gradual rollout strategy deploying to a small subset of users first. Criteria: 1,2,3,5,7,8.</td> </tr> <tr> <td>semantic versioning</td> <td>doc/ci/components/_index.md</td> <td>~10</td> <td>Yes</td> <td>gestion sémantique de version (Preferred)</td> <td>Used in context of CI/CD component versioning in the Catalog. Criteria: 1,2,3,5,8.</td> </tr> <tr> <td>pipeline graph</td> <td>doc/ci/pipelines/_index.md, doc/ci/jobs/_index.md</td> <td>~8</td> <td>Yes</td> <td>graphe du pipeline (Preferred)</td> <td>The visual DAG/stage representation of all jobs in a pipeline. FR: <em>graphe</em> vs. <em>graphique</em> — both appear in FR tech docs. Quickterm confirms <em>graphe</em>. Criteria: 1,3,4,5,8.</td> </tr> <tr> <td>pipeline editor</td> <td>doc/ci/pipelines/_index.md, doc/ci/components/_index.md</td> <td>~5</td> <td>Yes</td> <td>éditeur de pipeline (Preferred)</td> <td>Built-in GitLab UI tool for editing pipeline config with validation. Distinct from a code editor. Criteria: 1,3,5,8.</td> </tr> <tr> <td>protected runner</td> <td>doc/ci/runners/_index.md, doc/ci/pipelines/_index.md</td> <td>~5</td> <td>Yes (plural)</td> <td>runners protégés (Preferred)</td> <td>Runner that only picks up jobs from protected branches/tags. Must be consistent with protected variable — same <em>protégé</em> treatment. Criteria: 1,2,3,5,7,8.</td> </tr> <tr> <td>job artifact</td> <td>doc/ci/jobs/_index.md, doc/ci/_index.md</td> <td>~10</td> <td>No</td> <td></td> <td>Files produced by a job and stored by GitLab for use in later jobs or download. 'Artifact' in general English = historical object; here it is a CI build output. FR: <em>artefact</em> exists but may not be used consistently in CI context. Not in Quickterm as a standalone compound. Criteria: 1,2,3,4,5,8.</td> </tr> <tr> <td>job log</td> <td>doc/ci/jobs/_index.md</td> <td>~6</td> <td>Yes</td> <td>job log (Preferred, DNT)</td> <td>Full execution output of a CI/CD job. Quickterm confirms DNT: <em>job log</em>. Criteria: 1,3,4,5,8.</td> </tr> </table> #### Terms excluded after applying extraction criteria - `artifact (generic)` — consistent with #923 decision: direct cognate; job artifact is included above as the specific compound - `environment` — generic word; environnement is unambiguous - `deployment` — generic - `workload pipeline` — very new niche pipeline type; too early to standardize - `CI/CD expression` — new GitLab syntax but highly technical/niche; targeted at pipeline authors not end users - `matrix job` — niche configuration pattern; tâche matricielle is derivable - `pipeline mini graph` — UI element name; pipeline graph covers the concept - `pipeline badge` — niche UI embeddable element; badge is borrowed in FR - `job dependencies (as view)` — pipeline view mode label — UI string, out of scope - `pipeline integrity` — concept covered under supply chain security above - `Auto DevOps stages` — GitLab product feature names — excluded per rules - `Cloud Native Buildpack` — CNCF proper noun — third-party standard - `refspec` — Git-internal term; not GitLab-specific - `semantic versioning (if not CI/CD-specific)` — already included above in CI/CD Catalog context - `webhook` — already in #923 - `infrastructure as code` — already in #923 #### Review checklist <!--For each term: check the box to include in TBX, leave unchecked to skip.--> - [x] stage - [x] downstream pipeline --> Add this term to Quickterm, the FR term is `pipeline downstream`. - [x] upstream pipeline --> Add this term to Quickterm, the FR term is `pipeline upstream` and update "upstream" term as DNT in Quickterm. - [x] parent-child pipeline - [x] multi-project pipeline --> Add this term to Quickterm, the FR term is `pipeline multi-projets`. - [x] merge request pipeline --> Add this term to Quickterm, the FR term is `pipeline de merge request`. - [ ] merged results pipeline (Skip) - [x] merge train - [x] pipeline schedule - [ ] pipeline trigger (Skip for now and see how the LLM behaves) - [ ] trigger token (Skip for now and see how the LLM behaves) - [ ] trigger job (Skip for now and see how the LLM behaves) - [ ] pipeline subscription (Skip for now and see how the LLM behaves) - [x] CI/CD variable - [ ] predefined variable (Skip) - [ ] custom variable (Skip for now and see how the LLM behaves) - [x] masked variable - [x] protected variable - [ ] hidden variable (This one is tricky, let's skip it for now and I'll come back to it later) - [x] CI/CD component --> Add this term to Quickterm, the exact FR term is `composant CI/CD`. - [x] CI/CD Catalog - [ ] component project (Skip for now and see how the LLM behaves) - [ ] CI/CD input --> Replace by "entrée CI/CD" in Quickterm. - [ ] compliance pipeline (Skip for now and see how the LLM behaves) - [ ] pipeline execution policy --> Replace by `politique d'exécution de pipeline` in Quickterm. - [ ] scan execution policy --> Entry already existing in Quickterm (Entry ID 1328), replace by `politique d'exécution de scan` in Quickterm. - [x] supply chain security --> Add this term to Quickterm, the FR term is `sécurité de la chaîne d'approvisionnement`. - [x] secrets management --> Add this term to Quickterm, the FR term is `gestion des secrets`. - [ ] job token (This one is tricky, let's skip it for now and I'll come back to it later) - [ ] DAST --> I would change DAST as Preferred and test dynamique de sécurité des applications as Admitted in Quickterm. - [ ] SAST --> I would change SAST as Preferred and test statique de sécurité des applications as Admitted in Quickterm. - [x] canary deployment --> The EN entry in Quickterm (Entry ID 2883) would need to be updated. - [x] semantic versioning - [ ] pipeline graph --> Replace by `graphe de pipeline` in Quickterm. - [x] pipeline editor - [ ] protected runner --> Replace by "runner protégé" (moved to singular) in Quickterm. - [x] job artifact --> Add this term to Quickterm, the exact FR term is `artefact de job`. - [x] job log
issue