Add review-app ci for JH
What does this MR do and why?
What: Introduce the review app
mechanism for the GitLab repo.
The Changelog and why:
The background information. We have to fork with GitLab repo to implement the review app
mechanism because this limitation we can not use the predefined CI/CD variables, that's why we have to fork with upstream. We also asked upstream for use the predefined CI/CD variables with component
keywords in this issue, unfortunetly, it doesn't work. So we have to fork with upstream.
Our changes include several parts:
- Placehold directory for review apps.
- Add
review app
mechanism for JH GitLab. - The QA related jobs.
Next is the details information:
-
Placehold directory for review apps:
- package-and-test/main.gitlab-ci.yml
- package-and-test-nightly/main.gitlab-ci.yml
- test-on-gdk/main.gitlab-ci.yml
-
Add
review app
mechanism for JH GitLab.- not-run-if-jh.gitlab-ci.yml: Disable jobs which we don't want to run on JH side.
- review-apps/main.gitlab-ci.yml: The review app related jobs,We forked it from upstream
.gitlab/ci/review-apps/main.gitlab-ci.yml
, We changed👇
15 - local: jh/.gitlab/ci/review-apps/rules.gitlab-ci.yml 16 - local: jh/.gitlab/ci/review-apps/qa.gitlab-ci.yml 49 GITLAB_HELM_CHART_PROJECT_URL: "https://jihulab.com/gitlab-cn/charts/gitlab" 50 GITLAB_HELM_REPO_URL: "https://charts.gitlab.cn" 52 GITLAB_IMAGE_REPOSITORY: "registry.jihulab.com/gitlab-cn/build/cng-mirror" 53 GITLAB_IMAGE_SUFFIX: "jh" 54 GITLAB_HELM_CHART_REF: "c1a20a2f2b97f9a5da90580f77d018a77199daac" # 56 GITLAB_REVIEW_APP_BASE_CONFIG_FILE: "jh/scripts/review_apps/base-config.yaml"
- review-apps/rules.gitlab-ci.yml: Add the rules for review app. We forked it from upstream
.gitlab/ci/review-apps/rules.gitlab-ci.yml
, We changed👇
50 .jh-qa-review-patterns: &jh-qa-review-patterns 51 - "jh/qa/qa/**/*" 120 .rules:jh-qa-smoke: 121 rules: 122 - <<: *if-merge-request 123 changes: *jh-qa-review-patterns 125 .rules:jh-qa-reliable: 126 rules: 127 - <<: *if-merge-request 128 changes: *jh-qa-review-patterns
- review-apps/qa.gitlab-ci.yml: Add the qa jobs for review app. We forked it from upstream
.gitlab/ci/review-apps/qa.gitlab-ci.yml
, We changed👇
2 - local: jh/.gitlab/ci/qa-common/main.gitlab-ci.yml 3 - component: "jihulab.com/gitlab-cn/quality/pipeline-common/allure-report@7.3.0"
- rules.gitlab-ci.yml: Add rules for review app on jh side.
- review.gitlab-ci.yml: Add the
start-review-app-pipeline
job, Forked from upstream.gitlab/ci/review.gitlab-ci.yml
, We change it's rule to.review:jh:rules:start-review-app-pipeline
- scripts/review-apps/base-config.yaml: The config file for k8s of review app env.
- .gitlab-ci.yml: Add the
REVIEW_APPS_DOMAIN
for review app jobs.
-
The QA related jobs:
- qa-common/*.gitlab-ci.yml: The qa jobs for review app.
%{first_multiline_commit}
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
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.