Skip to content

Support wildcard with double asterisks for CI file includes

Furkan Ayhan requested to merge 25921-fix-subfolder-behavior into master

What does this MR do?

In our previous implementation (!55871 (merged) / !58999 (merged)), we did not consider subfolders. After trying to use this feature for gitlab-org/gitlab (!60052 (merged)), we realized that we need to have a difference between root and subfolders.

For example;

  • .gitlab/ci/*.yml -> Should match all files in the .gitlab/ci folder that end in .yml, but not subfolders.
  • .gitlab/ci/**/*.yml -> Should match all files in the .gitlab/ci folder and subfolders that end in .yml.

Related to #25921 (closed)

Screenshots (strongly suggested)

More info is in the previous MR.

Regexp change examples

  • For the path *.md, changed from ^.*?\.md$ to ^([^\/])*?\.md$.
  • For the path **.md, changed from ^.*?.*?\.md$ to ^.*?\.md$.
  • For the path files/**.md, changed from ^files\/.*?.*?\.md$ to ^files\/.*?\.md$.

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • [] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Furkan Ayhan

Merge request reports