inverse globbing in .gitlab-ci.yml does not pick up changes
Summary
I have a job which needs to be executed when any file, in any directory is modified EXCEPT
for files in special_dir
.
We should ignore all changes made inside the special_dir
, except we will allow changes to anything inside special_dir/allowed_folder
The following syntax is picked up correctly
only:
changes:
- "*"
- special_dir/allowed_folder/**/*
- "./!(special_dir)/**/*"
Example directory structure, with file extensions indicating if a file should trigger the pipeline or not. The yellow files should be picked up by the globbing above, but are not
Steps to reproduce
In the directory structure above, modifications to a_folder
and its subdirectories are not picked up by the pipeline, even though they should be
Example Project
https://gitlab.com/sgrimes-stackod/example-inverse-glob-failure
What is the current bug behavior?
Modifying a_folder/file.allowed does not trigger the job
What is the expected correct behavior?
Modifying a_folder/file.allowed triggers the job
Relevant logs and/or screenshots
a_folder/file.allowed
should be picked up by the glob "!(special_dir)/**/*"
Output of checks
This bug happens on GitLab.com
(If you can, link to the line of code that might be responsible for the problem)