Skip to content

In `changes`, add validation of whether only the listed files are changed

Description

With the current rules: - changes enclosures, it's possible to exclude the job if a certain file, or file type was changed. However, it's not possible to check if the listed file is the only thing that was changed. In cases if something else apart from the listed file was changed, add the job to the pipeline.

job1:
  rules:
    - changes:
        - "**/*.md"
        - "*.md"
      when: never
    - when: always

The above will exclude the job from the pipeline.

Proposal

Add syntax to validate if the listed files are not the ONLY thing that was changed.

For example, if we change some .py, .js and .md files, then the job should be included in the pipeline.

But if only the .md file was changed, the job should be excluded.

Edited by Artur Salii