On Tue, Nov 10, 2020 at 01:16:06PM +0100, Philippe Mathieu-Daudé wrote:
The EDK2 jobs use the 'changes' keyword, which "makes it
possible to define if a job should be created based on files
modified by a Git push event." (see [1]). This keyword comes
with a warning:
Caution:
In pipelines with sources other than the three above
changes can’t determine if a given file is new or old
and always returns true."
In commit 922febe2af we moved the YAML config file from the
repository root directory to the .gitlab-ci.d/ directory.
We didn't respect the previous warning and disabled the
'changes' filter rule, as the files are now in a (directory)
three above the YAML config file.
This description is a bit wierd. I don't see how the location
in the directory tree has any relevance here.
IIUC the caution docs quoted above are referring to what triggered
the pipeline. They're saying that if the trigger was not a "branch",
"merge request", or "external pull request", then the "changes" rule
always evaluates true.
The "branch" source us a bit wierd though, as I'm not seeing
how gitlab figures out which commits are "new" to the pipeline
and thus whether the files were modified or not.
Strangely qemu-project/qemu CI for master seems to be behaving
correctly and skipping the jobs.