Improve QA tag interpretation from GitLab image tag

What does this MR do and why?

Describe in detail what your merge request does and why.

This MR adds the support for for using the release images from the Dev instance, which is currently not supported. Details are as below:

  • Gitlab::QA::Release.qa_image : when the Omnibus package is on the Dev instance, i.e. dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee, then the QA image is at dev.gitlab.org:5005/gitlab/gitlab-ee/gitlab-ee-qa
  • Gitlab::QA::Release.qa_tag : the Omnibus tags have the format 17.10.1-ee.0, while the GitLab tags have the format 17.10.1-ee

Ref: gitlab-com/gl-infra/delivery#21059 (closed)

Testing

These are strongly recommended to assist reviewers and reduce the time to merge your change.

E2E Test

I tested Test::Omnibus::UpdateFromPrevious from my feature branch in my test project:

https://gitlab.com/dat.tang.gitlab/test-gitlab-ci/-/jobs/9739133314#L32

$ bundle exec gitlab-qa Test::Omnibus::UpdateFromPrevious dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee:17.10.4-ee.0 17.10.3 patch  -- --tag health_check

The QA images are interpreted correctly for both cases:

Function Test

Function Input Output
qa_image dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee dev.gitlab.org:5005/gitlab/gitlab-ee/gitlab-ee-qa
whatever:gitlab-ee whatever:gitlab-ee-qa
qa_tag 11.1.0-rc12.ee.0 11.1.0-rc12-ee
12.5.4-ee.1 12.5.4-ee
17.11.202504160706-62885907d15.5bfe06225ec 62885907d15
nightly nightly

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Dat Tang

Merge request reports

Loading
Loading