Rules can't be easily combined in user jobs
With the actual definition, redefining the rules for a jobs require a complete copy&paste of predefined rules like in template/Release/Semantic-release.yaml.
The new 14.3 release of Gitlab support merging rules with `!reference but, as a workaround, we could define a single hash of individual rules to be references, like:
.rule_references:
no_schedule:
if: $CI_PIPELINE_SOURCE == "schedule"
when: never
no_tag:
if: $CI_COMMIT_TAG
when: never
job5:
image: alpine:latest
rules:
- !reference [.rule_references, no_schedule]
- !reference [.rule_references, no_tag]
- when: on_success
script:
- echo "run except schedules and tags"