Quality single repository impact
single repository situation
Since GitLab is moving to a single repo solution, this would be a good time to think about potential improvements to our current CE and EE testing setup. Right now there is an upstream from CE to EE where any changes to the codebase in one is ported to other and with this the qa
folder is pushed as well.
Because of this we, in a way, duplicate our codebase and constantly push our changes to a second repo. This was the best way for the current situation. Now that the circumstances have changed, we should adapt as well.
a new way forward
There are two things that should be thought about. The first one is about the folder structure that is currently located inside the CE and EE repository. Extracting this folder and using a specific qa folder could help us have a single point of error in case something goes wrong and there would be only one collection of tests.
The second interesting change we need to think about is the separation of EE tests from the CE tests. According to @rymai this is done be having a folder structure that separates the EE tests and those are then not ported to the CE repository. To make things simpler, why not use tags as we do with quarantine
?
a single folder to rule them all
Creating a single folder outside of the two subfolders seems like an obvious choice since both share a majority of the tests executed daily. It would allow us the security to have no process that can go wrong in merging new changes into the other subproject.
tags for specific tests
Using tags like ee
or something similar seems to be a cleaner and simpler solution, than to use folder structures that are not as easily adaptable as a tag is. It allows us a simple way of changing a test to global, if a feature makes it from ee to ce.
/cc @gl-quality