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