Skip to content

Add review-app ci for JH

TianLu请求将review-app-ci合并到main-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:

  1. 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
  2. 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.
  3. 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.

Tom 编辑于

合并请求报告

加载中