Consider combining fast CI jobs
This makes me wonder maybe we can have a CI job which just runs all the fast checks. As you can see, we actually have a lot of this kind of things.
Present CI jobs:
-
gitlab_git_test
=> This seems very fast because we're not setting up stuffs. We can leave this alone -
memory-on-boot
=> 40 seconds, but again setting it up took several minutes -
memory-static
=> 1 second. Setting up took several minutes. -
qa:selectors
=> very fast
Old and removed CI jobs.
-
downtime_check
=> This takes less than 1 second, but setting it up does take a few minutes. -
ee-files-location-check
andee-specific-lines-check
=> Can't tell how much time it took but it should be generally very fast. There are git operations fetching and cloning, so it won't be blazing fast but once that's done it should be fast. We can maybe merge them. -
lint-ci-gitlab
,no_ee_check
=> very fast (and fast setup)
There's also rspec-fast-spec-helper
which prompted this discussion
Combining some / all of these would save us from CI job and Rails setup overhead. This does make failures less obvious since you'd have to look at the job output to know what failed.
Something that we have to note here too: these don't block the pipeline so we don't save on pipeline time here but we do save on CI minutes and cost.
It would be interesting to know how much these fast jobs cost us if combined vs separate. I think that would help us know if it's worth the downside of less visible errors.