I am trying to create a pipeline that needs to run a) when code is being pushed b) tagged c) scheduled d) per trigger (curl). Trying to use only/except specs as defined in https://docs.gitlab.com/ce/ci/yaml/README.html#only-and-except-simplified
One thing that is not clear to me from the docs is the difference between branches
& tags
vs pushes
I also noticed that if I set my job for scenario a+b to only: [branches, tags]
it will get also get executed in scenario c+d which seems odd because I did not push any new commits. The only way to get this properly working is to also add except: [triggers, schedules]
or basically everything except those triggers that I specified in only
which seems to defeat the purpose of having an only
tag in the beginning.
Are there some more details on when these different conditions trigger and what the expected behavior is?