Do no treat non-VCS test components as updatable
What does this MR do and why?
Exit early in setting up the test environment for non-VCS test components.
openbao
is such an example. This component uses
the gitlab:secrets_management:openbao:download_or_clone
Rake task
that downloads the openbao
binary without
setting up the GIT repository in tmp/tests/openbao
.
When the test environment is being set up,
the test helper calls component_timed_setup
which invokes
the GIT binary with the following arguments:
git -C tmp/tests/openbao merge-base --is-ancestor <COMMIT_SHA> HEAD
Due to the design of GIT, it traverses all directories
until it finds the .git
directory against which it can execute
the command mentioned above. In our case, the GIT reaches
the GitLab repository, which might be slow to respond.
It was reported by team members that this patch reduces the setup time from 2+ minutes to 2 seconds depending on the GIT repo status:
Before: Test environment set up in 160.159391346 seconds
After: Test environment set up in 2.480034855 seconds
References
N/A
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Not required
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
Merge request reports
Activity
changed milestone to %17.7
added backend maintenanceworkflow typemaintenance labels
assigned to @vitallium
added pipelinetier-1 label
Reviewer roulette
Category Reviewer Maintainer backend @dbiryukov
(UTC+1, same timezone as author)
@radbatnag
(UTC+8, 7 hours ahead of author)
Please refer to documentation page for guidance on how you can benefit from the Reviewer Roulette, or use the GitLab Review Workload Dashboard to find other available reviewers.
If needed, you can retry the
danger-review
job that generated this comment.Generated by
Dangeradded 1 commit
- d6cf6dd0 - Do no treat non-VCS test components as updatable
added groupfulfillment platform sectionfulfillment labels
added devopsfulfillment label
added 1 commit
- 12755774 - Do no treat non-VCS test components as updatable
requested review from @lwanko
- Resolved by Doug Stull
Hi @vitallium! Thank you for digging into this problem! I guess the pipeline will also catch any problems with VCS tests, just in case. So this is approved with appreciation!
Hi @dstull! Could you take over for the maintainer review? Thank you!
requested review from @dstull
removed review request for @lwanko
added pipeline:mr-approved label
added pipelinetier-2 label and removed pipelinetier-1 label
Before you set this MR to auto-merge
This merge request will progress on pipeline tiers until it reaches the last tier: pipelinetier-3. We will trigger a new pipeline for each transition to a higher tier.
Before you set this MR to auto-merge, please check the following:
- You are the last maintainer of this merge request
- The latest pipeline for this merge request is pipelinetier-3 (You can find which tier it is in the pipeline name)
- This pipeline is recent enough (created in the last 8 hours)
If all the criteria above apply, please set auto-merge for this merge request.
See pipeline tiers and merging a merge request for more details.
added pipelinetier-3 pipeline:run-e2e-omnibus-once labels and removed pipelinetier-2 label
- Resolved by Doug Stull
I wonder if these are true failures due to this change https://gitlab.com/gitlab-org/gitlab/-/jobs/8486882736#L2588
we'll see if it fails instead of passing/merging
aborted automatic add to merge train because the source branch was updated. Learn more.
added 1 commit
- b98cb59c - Do no treat non-VCS test components as updatable
reset approvals from @dstull by pushing to the branch
- Resolved by Doug Stull
started a merge train
mentioned in commit 2d48aab1
added workflowstaging-canary label
mentioned in issue gitlab-com/www-gitlab-com#35039
added workflowcanary label and removed workflowstaging-canary label
added workflowstaging label and removed workflowcanary label
added workflowproduction label and removed workflowstaging label
added workflowpost-deploy-db-production label and removed workflowproduction label
added releasedcandidate label
added releasedpublished label and removed releasedcandidate label