UpdateFromPrevious scenario type for N - 1 version update testing
What does this MR do and why?
Describe in detail what your merge request does and why.
Adds UpdateFromPrevious scenario type for version upgrade testing. It takes in current release and corresponding gitlab version in order to properly detect previous version from which to perform the update. Performs intermediary updates according to gitlab upgrade path: https://gitlab.com/gitlab-com/support/toolbox/upgrade-path
Before performing update, runs a smoke suite to generate some data in order to have a more realistic db upgrade.
This mr is part of https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92870+ and related to https://gitlab.com/gitlab-org/gitlab-qa/-/issues/672+ so it doesn't yet add this scenario type to pipeline itself.
TODO in separate MR:
Upgrading from previous major version is tricky because it requires a specific upgrade path, we can't just jump from 14 to 15 for example. Same goes for jumping over multiple minor versions. Automated upgrade path detection will need to be set up.
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.