diff --git a/.gitlab/ci/cng/main.gitlab-ci.yml b/.gitlab/ci/cng/main.gitlab-ci.yml index 325b06d59cd45f9cc49a397961cfa9e0f1362249..ad6371e7374db15cafd846af3b71f2d74f492820 100644 --- a/.gitlab/ci/cng/main.gitlab-ci.yml +++ b/.gitlab/ci/cng/main.gitlab-ci.yml @@ -56,6 +56,6 @@ review-build-cng: GITALY_SERVER_VERSION: "${GITALY_SERVER_VERSION}" RUBY_VERSION: "${FULL_RUBY_VERSION}" trigger: - project: gitlab-org/build/CNG-mirror + project: ${CI_PROJECT_NAMESPACE}/build/CNG-mirror branch: $TRIGGER_BRANCH strategy: depend diff --git a/scripts/trigger-build.rb b/scripts/trigger-build.rb index 89a2bf034cc53fd8bfed86a019a677c13608ee12..8f509399fd4265f4c9df4a8553b808485aef33f1 100755 --- a/scripts/trigger-build.rb +++ b/scripts/trigger-build.rb @@ -66,7 +66,7 @@ def simple_forwarded_variables def com_gitlab_client @com_gitlab_client ||= Gitlab.client( - endpoint: 'https://gitlab.com/api/v4', + endpoint: endpoint, private_token: self.class.access_token ) end @@ -113,12 +113,16 @@ def trigger_stable_branch_if_detected? end def stable_branch? - ENV['CI_COMMIT_REF_NAME'] =~ /^[\d-]+-stable(-ee)?$/ + ENV['CI_COMMIT_REF_NAME'] =~ /^[\d-]+-stable(-ee|-jh)?$/ end def fallback_ref if trigger_stable_branch_if_detected? && stable_branch? - ENV['CI_COMMIT_REF_NAME'].delete_suffix('-ee') + if ENV['CI_PROJECT_NAMESPACE'] == 'gitlab-cn' + ENV['CI_COMMIT_REF_NAME'].delete_suffix('-jh') + elsif ENV['CI_PROJECT_NAMESPACE'] == 'gitlab-org' + ENV['CI_COMMIT_REF_NAME'].delete_suffix('-ee') + end else primary_ref end @@ -142,6 +146,12 @@ def version_file_variables params[version_file] = version_param_value(version_file) end end + + def endpoint + return "https://jihulab.com/api/v4" if ENV['CI_PROJECT_NAMESPACE'] == 'gitlab-cn' + + "https://gitlab.com/api/v4" + end end class CNG < Base @@ -162,7 +172,9 @@ def ref_param_name end def primary_ref - 'master' + return "main-jh" if ENV['CI_PROJECT_NAMESPACE'] == 'gitlab-cn' + + "master" end def trigger_stable_branch_if_detected? diff --git a/spec/scripts/trigger-build_spec.rb b/spec/scripts/trigger-build_spec.rb index 3ac383e8d30b292412f3ac9b2b7aa78a02dab40b..1dd1f429b4345eef7e60a90142106ac090e25cc6 100644 --- a/spec/scripts/trigger-build_spec.rb +++ b/spec/scripts/trigger-build_spec.rb @@ -237,8 +237,14 @@ def ref_param_name describe "TRIGGER_BRANCH" do context 'when CNG_BRANCH is not set' do it 'sets TRIGGER_BRANCH to master' do + stub_env('CI_PROJECT_NAMESPACE', 'gitlab-org') expect(subject.variables['TRIGGER_BRANCH']).to eq('master') end + + it 'sets TRIGGER_BRANCH to main-jh on JH side' do + stub_env('CI_PROJECT_NAMESPACE', 'gitlab-cn') + expect(subject.variables['TRIGGER_BRANCH']).to eq('main-jh') + end end context 'when CNG_BRANCH is set' do @@ -261,6 +267,20 @@ def ref_param_name end it 'sets TRIGGER_BRANCH to the corresponding stable branch' do + stub_env('CI_PROJECT_NAMESPACE', 'gitlab-org') + expect(subject.variables['TRIGGER_BRANCH']).to eq(ref) + end + end + + context 'when CI_COMMIT_REF_NAME is a stable branch on JH side' do + let(:ref) { '14-10-stable' } + + before do + stub_env('CI_COMMIT_REF_NAME', "#{ref}-jh") + end + + it 'sets TRIGGER_BRANCH to the corresponding stable branch' do + stub_env('CI_PROJECT_NAMESPACE', 'gitlab-cn') expect(subject.variables['TRIGGER_BRANCH']).to eq(ref) end end