Skip to content

Conditionally skip pipelines for non-impactful file changes?

Can we consider skipping the pipeline for changes that don’t directly affect the package, such as *.md, docs/*, etc.?
Running the pipeline for these changes leads to unnecessary resource consumption.

The proposal:

  • Have a flag (SKIP_DOCS_CHECK) to toggle docs check on/off
  • When enabled, we have an extra header stage that blocks/continues the pipeline based on the pushed changes
  • Allow users to define which files can be safely ignored by the pipeline. Say SALSA_CI_DOCS_LIST: "*.md docs/*"
  • The pipeline is blocked with a manual job (or cancelled/deleted; needs token)
  • The pipeline is cancelled after a day if no manual action is taken (possibly using starts_at)

Expected Usage:

---
include:
  - https://salsa.debian.org/44yu5h/salsa-ci/raw/eval-changes-w-token/salsa-ci.yml
  - https://salsa.debian.org/44yu5h/salsa-ci/raw/eval-changes-w-token/pipeline-jobs.yml

variables:
  SKIP_DOCS_CHECK: 0
  SALSA_CI_DOCS_LIST: "*.md docs/*"

Expected Behavior:

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information