Consider allowing `Test::Instance::Any` accept a QA image instead of a GitLab image
The following discussion from !153 (merged) should be addressed:
-
@rymai commented on a discussion: (+4 comments)
Dylan Griffith @DylanGriffith · 3 hours ago
Typo here:
gitlab/gitlab-ce:your-custom-tag -> gitlab/gitlab-ce-qa:your-custom-tag
Rémy Coutable @rymai · 2 hours ago
Hehe, no it's not a typo, it's expected! We build the gitlab/gitlab-ce-qa Docker image, and then we need to pass the "corresponding" GitLab Docker image (even if it doesn't exist!) to the bin/qa Test::Instance::Any command because in Gitlab::QA::Component::Specs we pass release.qa_image: @docker.run(release.qa_image, release.qa_tag, suite, *args), which is basically the GitLab image + -qa.
I know that's a bit weird... Ideally we could have an explicit flag, e.g. --qa-image gitlab/gitlab-ce-qa:your-custom-tag instead.
Dylan Griffith @DylanGriffith · 2 hours ago
Oh dear. That is indeed confusing. I thought that I was running this before with the name of the -qa docker image, but I guess not...
Rémy Coutable @rymai · 1 hour ago
Yeah, the thing is that building your own QA image and running it against your GDK is a very specific use-case. "Normal" use-case is to run QA against a running GitLab instance in which case it makes sense to pass the edition:version of the running instance.
Rémy Coutable @rymai · 1 hour ago
A simple improvement we could do is detect if you pass a *-qa image and just use it directly.
🤷🏻
Basically bin/qa Test::Instance::Any gitlab/gitlab-ce-qa:your-custom-tag http://192.168.0.12:3000 -- qa/specs/features/repository/protected_branches_spec.rb:30
should work the same as bin/qa Test::Instance::Any gitlab/gitlab-ce:your-custom-tag http://192.168.0.12:3000 -- qa/specs/features/repository/protected_branches_spec.rb:30