Cater for empty next/previous minor/major when it's not possible
Problem/Motivation
Up until now, if there was no real next minor or major, we'd just give the "closest" one. For example, while 10.3.x wasn't there, we had 11.x for next minor, and also for next major, but that's wrong.
If there is no next or previous major or minor, we should be able to leave the variables empty and then the related variants shouldn't run at all.
Thanks to @berdir for talking about the issue (via slack) and proposing a fix.
Steps to reproduce
When 10.3.0 is available, 10.4.x might not be created, so there will be no next minor.
Same with 11.0.0 where there won't be previous minor.
Proposed resolution
As we control the variables, we can just set them to empty, and:
- The "check_versions" job can check when they are available and warn us
- The related variants should not run if the variables are empty
The variables that are now allowed to be blank are
CORE_SECURITY_PREVIOUS_MINOR
CORE_PREVIOUS_STABLE (aka Previous Major)
CORE_NEXT_MINOR
CORE_MAJOR_DEVELOPMENT (aka Next Major)
Remaining tasks
MR and tests.