From 0bedffb8ded6ac49d6e9f9c71a72c8e05be24cbe Mon Sep 17 00:00:00 2001 From: Martin Lowe <martin.lowe@eclipse-foundation.org> Date: Fri, 8 Jul 2022 09:43:42 -0400 Subject: [PATCH 1/2] Iss #70 - Add bypass for fork projects in oniro-core --- src/main/rb/eca.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/rb/eca.rb b/src/main/rb/eca.rb index ac48d2cd..048238ec 100644 --- a/src/main/rb/eca.rb +++ b/src/main/rb/eca.rb @@ -5,6 +5,20 @@ require 'json' require 'httparty' require 'multi_json' WIKI_REGEX_MATCH = /.*\.wiki$/ +# this should be removed as soon as Oniro is onside again +ALLOW_LIST_PROJECTS = ['eclipse/oniro-core/meta-ts', +'eclipse/oniro-core/meta-ledge-sesure', +'eclipse/oniro-core/linux', +'eclipse/oniro-core/linux-meta', +'eclipse/oniro-core/llvm-project', +'eclipse/oniro-core/meta-arm', +'eclipse/oniro-core/meta-av96', +'eclipse/oniro-core/meta-binaryaudit', +'eclipse/oniro-core/meta-clang', +'eclipse/oniro-core/meta-openembedded', +'eclipse/oniro-core/meta-riscv', +'eclipse/oniro-core/meta-seco-intel', +'eclipse/oniro-core/meta-zephyr'] ## Process the commit into a hash object that will be posted to the ECA validation service def process_commit(sha) @@ -88,6 +102,9 @@ end if (nil_or_empty(project_url)) then puts "Could not determine a web URL for project, likely not a fully-qualified project, skipping" exit 0 +elsif (ALLOW_LIST_PROJECTS.any? {|repo_namespace| project_url.end_with? repo_namespace}) then + puts "Found allow listed project, skipping validation" + exit 0 end ## Get all new commits for branch, relative to itself for existing branch, relative to tree for new -- GitLab From e7067b04fb8b20470230448a85799f2015d5a529 Mon Sep 17 00:00:00 2001 From: Martin Lowe <martin.lowe@eclipse-foundation.org> Date: Fri, 8 Jul 2022 10:06:31 -0400 Subject: [PATCH 2/2] Updated to use very strict bypass for oniro-core checks --- src/main/rb/eca.rb | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/main/rb/eca.rb b/src/main/rb/eca.rb index 048238ec..42a8ae69 100644 --- a/src/main/rb/eca.rb +++ b/src/main/rb/eca.rb @@ -5,20 +5,21 @@ require 'json' require 'httparty' require 'multi_json' WIKI_REGEX_MATCH = /.*\.wiki$/ +HOST_URL='https://gitlab.eclipse.org' # this should be removed as soon as Oniro is onside again -ALLOW_LIST_PROJECTS = ['eclipse/oniro-core/meta-ts', -'eclipse/oniro-core/meta-ledge-sesure', -'eclipse/oniro-core/linux', -'eclipse/oniro-core/linux-meta', -'eclipse/oniro-core/llvm-project', -'eclipse/oniro-core/meta-arm', -'eclipse/oniro-core/meta-av96', -'eclipse/oniro-core/meta-binaryaudit', -'eclipse/oniro-core/meta-clang', -'eclipse/oniro-core/meta-openembedded', -'eclipse/oniro-core/meta-riscv', -'eclipse/oniro-core/meta-seco-intel', -'eclipse/oniro-core/meta-zephyr'] +ALLOW_LIST_PROJECTS = ['/eclipse/oniro-core/meta-ts', +'/eclipse/oniro-core/meta-ledge-sesure', +'/eclipse/oniro-core/linux', +'/eclipse/oniro-core/linux-meta', +'/eclipse/oniro-core/llvm-project', +'/eclipse/oniro-core/meta-arm', +'/eclipse/oniro-core/meta-av96', +'/eclipse/oniro-core/meta-binaryaudit', +'/eclipse/oniro-core/meta-clang', +'/eclipse/oniro-core/meta-openembedded', +'/eclipse/oniro-core/meta-riscv', +'/eclipse/oniro-core/meta-seco-intel', +'/eclipse/oniro-core/meta-zephyr'] ## Process the commit into a hash object that will be posted to the ECA validation service def process_commit(sha) @@ -80,7 +81,7 @@ end project_id = gl_repo[8..-1] ## Get data about project from API -project_response = HTTParty.get("https://gitlab.eclipse.org/api/v4/projects/#{project_id}", +project_response = HTTParty.get("#{HOST_URL}/api/v4/projects/#{project_id}", :headers => { 'Authorization' => 'Bearer ' + access_token }) @@ -102,7 +103,7 @@ end if (nil_or_empty(project_url)) then puts "Could not determine a web URL for project, likely not a fully-qualified project, skipping" exit 0 -elsif (ALLOW_LIST_PROJECTS.any? {|repo_namespace| project_url.end_with? repo_namespace}) then +elsif (ALLOW_LIST_PROJECTS.any? {|repo_namespace| "#{HOST_URL}#{repo_namespace}" == project_url}) then puts "Found allow listed project, skipping validation" exit 0 end -- GitLab