ci: Remove duplicate RSpec jobs
What does this MR do and why?
We have some duplicated jobs. Following is the explanation:
rspec-ee unit pg12:
extends:
- .rspec-ee-base-pg12
- .rails:rules:ee-only-unit
- .rspec-ee-unit-parallel
# which is equivalent to the following after replacing `.rspec-ee-base-pg12` by its definition
rspec-ee unit pg12:
extends:
- .rspec-base
- .use-pg12-es7-ee
- .rails:rules:ee-only-unit
- .rspec-ee-unit-parallel
Then if we do the same thing for rspec-ee unit pg12 es7
:
rspec-ee unit pg12 es7:
extends:
- .rspec-ee-base-pg12-es7
- .rspec-ee-unit-parallel
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
# which is equivalent to the following after replacing `.rspec-ee-base-pg12` by its definition
rspec-ee unit pg12 es7:
extends:
- .rspec-base
- .use-pg12-es7-ee
- .rails:rules:run-search-tests
- .rspec-ee-unit-parallel
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
# .rails:rules:run-search-tests is never used since it's overridden by .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only, so we have:
rspec-ee unit pg12 es7:
extends:
- .rspec-base
- .use-pg12-es7-ee
- .rspec-ee-unit-parallel
- .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
# which is quite similar to
rspec-ee unit pg12:
extends:
- .rspec-base
- .use-pg12-es7-ee
- .rails:rules:ee-only-unit
- .rspec-ee-unit-parallel
Since .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only
is:
.rails:rules:default-branch-schedule-nightly--code-backstage-ee-only:
rules:
- <<: *if-not-ee
when: never
- !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules]
# which is equivalent to the following after replacing `!reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules]` by its definition
.rails:rules:default-branch-schedule-nightly--code-backstage-ee-only:
rules:
- <<: *if-not-ee
when: never
- <<: *if-default-branch-schedule-nightly
- <<: *if-merge-request
changes: [".gitlab/ci/rails.gitlab-ci.yml"]
Here we can ignore
- <<: *if-merge-request
changes: [".gitlab/ci/rails.gitlab-ci.yml"]
since it's covered by .rails:rules:ee-only-unit
already, which leave us with <<: *if-default-branch-schedule-nightly
, which is also covered by .rails:rules:ee-only-unit
with the following rule:
- <<: *if-default-refs
changes: *backend-patterns
since changes
is always evaluated to true
for scheduled pipelines, and if-default-refs
includes scheduled pipelines (since it runs for master
).
The same logic applies for rspec-ee integration pg12 es7
, and rspec-ee system pg12 es7
.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.