Add JH files into QA docker when pass the jh parameter
What does this MR do and why?
Another way to solve the problem in !90881 (merged) seems it is not supported in our CI environment.
This solution comes from here: https://stackoverflow.com/a/54245466
How to set up and validate locally
- When not in JiHu environment, nothing will change here, the QA docker image dir will be:
├── INSTALLATION_TYPE
├── VERSION
├── config
├── ee
├── lib
├── qa
- When in JiHu environment, we need add build args
--build-arg QA_BUILD_TARGET=jhqa
and then the QA docker image dir will be:
├── INSTALLATION_TYPE
├── VERSION
├── config
├── ee
├── lib
├── qa
├── jh
│ ├── qa
│ ├── lib
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.
/cc @daveliu
Merge request reports
Activity
added JiHu contribution label
Hey @songhuangcn!
Thank you for your contribution to GitLab. Please refer to the contribution flow documentation for a quick overview of the process, and the merge request (MR) guidelines for the detailed process.
When you're ready for a first review, post
@gitlab-bot ready
. If you know a relevant reviewer(s) (for example, someone that was involved in a related issue), you can also assign them directly with@gitlab-bot ready @user1 @user2
.At any time, if you need help moving the MR forward, feel free to post
@gitlab-bot help
. Read more on how to get help.To enable automated checks on your MR, please configure Danger for your fork.
You can comment
@gitlab-bot label <label1> <label2>
to add labels to your MR. Please see the list of allowed labels in thelabel
command documentation.This message was generated automatically. You're welcome to improve it.
added Community contribution workflowin dev labels
assigned to @songhuangcn
marked the checklist item I have evaluated the MR acceptance checklist for this MR. as completed
- Resolved by Lin Jen-Shin
@chaomao Please help me review this, thanks.
2 Warnings This Merge Request needs to be labelled with QA. Please request a reviewer or maintainer to add them. This merge request does not refer to an existing milestone. Pipeline Changes
This merge request contains changes to the pipeline configuration for the GitLab project.
Please consider the effect of the changes in this merge request on the following:
- Effects on different pipeline types
- Effects on non-canonical projects:
gitlab-foss
security
dev
- personal forks
- Effects on pipeline performance
Please consider communicating these changes to the broader team following the communication guideline for pipeline changes
Reviewer roulette
Changes that require review have been detected!
Please refer to the table below for assigning reviewers and maintainers suggested by Danger in the specified category:
Category Reviewer Maintainer QA Carlo Catimbang ( @carlocatimbang
) (UTC+8)Maintainer review is optional for QA maintenanceworkflow / maintenancepipelines for CI, Danger Corinna Gogolok ( @cwiesner
) (UTC+2)Rémy Coutable ( @rymai
) (UTC+2)To spread load more evenly across eligible reviewers, Danger has picked a candidate for each review slot, based on their timezone. Feel free to override these selections if you think someone else would be better-suited or use the GitLab Review Workload Dashboard to find other available reviewers.
To read more on how to use the reviewer roulette, please take a look at the Engineering workflow and code review guidelines. Please consider assigning a reviewer or maintainer who is a domain expert in the area of the merge request.
Once you've decided who will review this merge request, assign them as a reviewer! Danger does not automatically notify them for you.
If needed, you can retry the
danger-review
job that generated this comment.Generated by
Dangermentioned in merge request !90881 (merged)
@gitlab-bot ready @jzhang_gl
added workflowready for review label and removed workflowin dev label
requested review from @jzhang_gl
@jzhang_gl, this Community contribution is ready for another review! Please assign other reviewer(s) if you do not have availability.
Please add the workflowin dev label if the merge request needs actions from the author.
Suggested Reviewers (beta)
The individuals below may be good candidates to participate in the review based on various factors.
You can use slash commands in comments to quickly assign
/assign_reviewer @user1
.Suggested Reviewers @rspeicher
,@jivanvl
,@psimyn
,@ashmckenzie
,@mayra-cabrera
If you do not believe these suggestions are useful, please apply the label Bad Suggested Reviewer. You can also provide feedback for this feature on this issue:
https://gitlab.com/gitlab-org/gitlab/-/issues/357923
.Automatically generated by Suggested Reviewers Bot - an experimental ML-based recommendation engine created by ~"group::applied ml".
2 Warnings Please add a merge request type to this merge request. This merge request does not refer to an existing milestone. 1 Message CHANGELOG missing: If you want to create a changelog entry for GitLab FOSS, add the
Changelog
trailer to the commit message you want to add to the changelog.If you want to create a changelog entry for GitLab EE, also add the
EE: true
trailer to your commit message.If this merge request doesn't need a CHANGELOG entry, feel free to ignore this message.
If needed, you can retry the
danger-review
job that generated this comment.Reviewer roulette
Changes that require review have been detected!
Please refer to the table below for assigning reviewers and maintainers suggested by Danger in the specified category:
Category Reviewer Maintainer QA Valerie Burton ( @vburton
) (UTC-5)Ramya Authappan ( @at.ramya
) (UTC+5.5)To spread load more evenly across eligible reviewers, Danger has picked a candidate for each review slot, based on their timezone. Feel free to override these selections if you think someone else would be better-suited or use the GitLab Review Workload Dashboard to find other available reviewers.
To read more on how to use the reviewer roulette, please take a look at the Engineering workflow and code review guidelines. Please consider assigning a reviewer or maintainer who is a domain expert in the area of the merge request.
Once you've decided who will review this merge request, assign them as a reviewer! Danger does not automatically notify them for you.
Generated by
DangerAllure report
allure-report-publisher
generated test report!review-qa-blocking:
test report for e7f7b9deexpand test summary
+---------------------------------------------------------------------------+ | suites summary | +----------------------+--------+--------+---------+-------+-------+--------+ | | passed | failed | skipped | flaky | total | result | +----------------------+--------+--------+---------+-------+-------+--------+ | Plan | 47 | 1 | 1 | 48 | 49 | ❌ | | Secure | 2 | 0 | 0 | 2 | 2 | ❗ | | Create | 22 | 1 | 2 | 23 | 25 | ❌ | | Manage | 37 | 0 | 2 | 38 | 39 | ❗ | | Verify | 12 | 0 | 1 | 12 | 13 | ❗ | | Package | 0 | 0 | 1 | 0 | 1 | ➖ | | Configure | 0 | 0 | 1 | 0 | 1 | ➖ | | Protect | 2 | 0 | 0 | 2 | 2 | ❗ | | Version sanity check | 0 | 0 | 1 | 0 | 1 | ➖ | +----------------------+--------+--------+---------+-------+-------+--------+ | Total | 122 | 2 | 9 | 125 | 133 | ❌ | +----------------------+--------+--------+---------+-------+-------+--------+
review-qa-all:
test report for e7f7b9deexpand test summary
+---------------------------------------------------------------------------+ | suites summary | +----------------------+--------+--------+---------+-------+-------+--------+ | | passed | failed | skipped | flaky | total | result | +----------------------+--------+--------+---------+-------+-------+--------+ | Create | 120 | 5 | 4 | 37 | 129 | ❌ | | Package | 0 | 0 | 2 | 0 | 2 | ➖ | | Verify | 28 | 0 | 2 | 23 | 30 | ❗ | | Manage | 55 | 3 | 4 | 22 | 62 | ❌ | | Fulfillment | 0 | 0 | 13 | 1 | 13 | ➖ | | Plan | 4 | 0 | 1 | 0 | 5 | ✅ | | Release | 6 | 0 | 0 | 4 | 6 | ❗ | | Secure | 19 | 0 | 2 | 15 | 21 | ❗ | | Product Intelligence | 1 | 0 | 1 | 0 | 2 | ✅ | | Configure | 0 | 0 | 2 | 0 | 2 | ➖ | +----------------------+--------+--------+---------+-------+-------+--------+ | Total | 233 | 8 | 31 | 102 | 272 | ❌ | +----------------------+--------+--------+---------+-------+-------+--------+
mentioned in issue gitlab-jh/status-reports#144
mentioned in issue gitlab-org/quality/triage-reports#8151 (closed)
- Resolved by Jason Zhang
@jzhang_gl Could you help me review this? thanks.
added Quality maintenancepipelines typemaintenance labels
- Resolved by 🤖 GitLab Bot 🤖
@jzhang_gl
, thanks for approving this merge request.This is the first time the merge request is approved. Please wait for AppSec approval.
cc @gitlab-com/gl-security/appsec this is a JiHu contribution, please follow the JiHu contribution review process.
requested review from @dcouture
added 1628 commits
-
e7f7b9de...d9589da4 - 1627 commits from branch
gitlab-org:master
- a970b280 - Add JH files into QA docker when pass the jh parameter
-
e7f7b9de...d9589da4 - 1627 commits from branch
- Resolved by Song Huang
- Resolved by Jason Zhang
I think potentially cleaner way could be using multi-stage build.
You could check beforehand if jh folder exists and set a target based on that via
--target
option. This would however make it less portable when building locally, a user would need to know which target to set.ARG DOCKER_VERSION=20.10.14 ARG CHROME_VERSION=101 FROM registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23 as gitlab LABEL maintainer="GitLab Quality Department <quality@gitlab.com>" ENV DEBIAN_FRONTEND="noninteractive" # Override config path to make sure local config doesn't override it when building image locally ENV BUNDLE_APP_CONFIG=/home/gitlab/.bundle ## # Install system libs # RUN apt-get update; \ apt-get install -y xvfb unzip; \ apt-get -yq autoremove; \ apt-get clean -yqq; \ rm -rf /var/lib/apt/lists/* ## # Install root certificate # RUN mkdir -p /usr/share/ca-certificates/gitlab ADD ./qa/tls_certificates/authority/ca.crt /usr/share/ca-certificates/gitlab/ RUN echo 'gitlab/ca.crt' >> /etc/ca-certificates.conf RUN chmod -R 644 /usr/share/ca-certificates/gitlab && update-ca-certificates WORKDIR /home/gitlab/qa ## # Install qa dependencies or fetch from cache if unchanged # COPY ./qa/Gemfile* /home/gitlab/qa/ RUN bundle config set --local without development \ && bundle install --retry=3 ## # Fetch chromedriver based on version of chrome # Copy rakefile first so that webdriver is not reinstalled on every code change # https://github.com/titusfortner/webdrivers # COPY ./qa/tasks/webdrivers.rake /home/gitlab/qa/tasks/ RUN bundle exec rake -f tasks/webdrivers.rake webdrivers:chromedriver:update COPY ./config/initializers/0_inject_enterprise_edition_module.rb /home/gitlab/config/initializers/ # Copy VERSION to ensure the COPY succeeds to copy at least one file since ee/app/models/license.rb isn't present in FOSS # The [b] part makes ./ee/app/models/license.r[b] a pattern that is allowed to return no files (which is the case in FOSS) COPY VERSION ./ee/app/models/license.r[b] /home/gitlab/ee/app/models/ COPY ./config/bundler_setup.rb /home/gitlab/config/ COPY ./config/feature_flags /home/gitlab/config/feature_flags COPY ./lib/gitlab_edition.rb /home/gitlab/lib/ COPY ./lib/gitlab/utils.rb /home/gitlab/lib/gitlab/ COPY ./INSTALLATION_TYPE ./VERSION /home/gitlab/ COPY ./qa /home/gitlab/qa ENTRYPOINT ["bin/test"] FROM gitlab as jh COPY VERSION ./jh/qa /home/gitlab/jh/qa/ COPY VERSION ./jh/lib /home/gitlab/jh/lib/
The benefit of such approach is that final image is "cleaner" in case
jh
folder is not present as it would not contain extra layers with optional copy.
removed review request for @dcouture
added 671 commits
-
b48f01fc...5a5d91c9 - 670 commits from branch
gitlab-org:master
- 00934f9d - Add JH files into QA docker when pass the jh parameter
-
b48f01fc...5a5d91c9 - 670 commits from branch
- Resolved by Lin Jen-Shin
- Resolved by Lin Jen-Shin
added 1 commit
- 85a89c47 - Add JH files into QA docker when pass the jh parameter
- Resolved by Andrejs Cunskis
@acunskis
, thanks for approving this merge request.This is the first time the merge request is approved. To ensure full test coverage, please start a new pipeline before merging.
For more info, please refer to the following links:
added 1 commit
- 0dc4ada8 - Add JH files into QA docker when pass the jh parameter
requested review from @mlapierre
mentioned in issue gitlab-jh/status-reports#145
changed milestone to %15.2
added QA label
added sec-planningcomplete label
@acunskis, did you forget to run a pipeline before you merged this work? Based on our code review process, if the latest pipeline finished more than 2 hours ago, you should:
- Ensure the merge request is not in Draft status.
- Start a pipeline (especially important for Community contribution merge requests).
- Set the merge request to merge when pipeline succeeds.
This is a guideline, not a rule. Please consider replying to this comment for transparency.
@songhuangcn, how was your code review experience with this merge request? Please tell us how we can continue to iterate and improve:
- Leave a
or a on this comment to describe your experience. - Create a new comment starting with
@gitlab-bot feedback
below, and leave any additional feedback you have for us in the comment.
Have five minutes? Take our survey to give us even more feedback on how GitLab can improve the contributor experience.
Thanks for your help!
- Leave a
mentioned in commit b32238c8
added workflowstaging-canary label and removed workflowready for review label
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
mentioned in merge request omnibus-gitlab!6206 (merged)
mentioned in issue gitlab-jh/status-reports#146
added releasedcandidate label
added releasedpublished label and removed releasedcandidate label
mentioned in issue jh-upstream-report#52 (closed)