From 0568983377a435419d24dd2f99a21dc0c10d913d Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri Date: Thu, 22 Aug 2024 14:58:41 +0000 Subject: [PATCH 1/6] modify pr workflow --- .github/workflows/pr_approval.yml | 32 +++++++++---------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/.github/workflows/pr_approval.yml b/.github/workflows/pr_approval.yml index fbac5035e2d3a..5bd82ae3e4e16 100644 --- a/.github/workflows/pr_approval.yml +++ b/.github/workflows/pr_approval.yml @@ -132,29 +132,15 @@ jobs: check_name: checkName }); - // Reuse the same workflow everytime there's a new review submitted - // instead of creating new workflows. Better efficiency and readability - // as the number of workflows is kept to a minimal number - if (checkRuns.data.total_count > 0) { - await github.rest.checks.update({ - owner, - repo, - check_run_id: checkRuns.data.check_runs[0].id, - status: 'completed', - conclusion, - output - }); - } else { - await github.rest.checks.create({ - owner, - repo, - name: checkName, - head_sha: pr.data.head.sha, - status: 'completed', - conclusion, - output - }); - } + await github.rest.checks.create({ + owner, + repo, + name: checkName, + head_sha: pr.data.head.sha, + status: 'completed', + conclusion, + output + }); if (conclusion === 'failure') { core.setFailed(`PR needs at least ${requiredApprovals} total approvals and 2 required approvals. Current approvals: ${approvers.size}, Required approvals: ${requiredApprovals}`); From 2c323e1d01dc487789e464c4401d33fa540ffb7e Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri Date: Thu, 22 Aug 2024 14:59:43 +0000 Subject: [PATCH 2/6] add dummy account to toml for testing --- .github/pull_requests.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/pull_requests.toml b/.github/pull_requests.toml index 12113728fc722..f7c83f9647284 100644 --- a/.github/pull_requests.toml +++ b/.github/pull_requests.toml @@ -9,5 +9,6 @@ members = [ "remi-delmas-3000", "qinheping", "tautschnig", - "jaisnan" + "jaisnan", + "Jaisu-1" ] From a25a44915f27260c62f35863f226b0d54233d372 Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri Date: Thu, 22 Aug 2024 15:06:34 +0000 Subject: [PATCH 3/6] add workflow --- .github/workflows/pr_approval.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_approval.yml b/.github/workflows/pr_approval.yml index 5bd82ae3e4e16..c10205d80babc 100644 --- a/.github/workflows/pr_approval.yml +++ b/.github/workflows/pr_approval.yml @@ -58,7 +58,7 @@ jobs: pull_number }); - const relevantPaths = ['library/', 'doc/src/challenges/']; + const relevantPaths = ['library/', 'doc/src/challenges/', '.github/workflows']; const isRelevantPR = files.data.some(file => relevantPaths.some(path => file.filename.startsWith(path)) ); From d31df34794295e521868bc27bd220aa2221800c0 Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri Date: Thu, 22 Aug 2024 15:12:47 +0000 Subject: [PATCH 4/6] remove extra console log --- .github/workflows/pr_approval.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/pr_approval.yml b/.github/workflows/pr_approval.yml index c10205d80babc..6bad8de9dedc5 100644 --- a/.github/workflows/pr_approval.yml +++ b/.github/workflows/pr_approval.yml @@ -73,7 +73,6 @@ jobs: const tomlContent = fs.readFileSync('.github/pull_requests.toml', 'utf8'); console.log('TOML content:', tomlContent); const tomlData = toml.parse(tomlContent); - console.log('Parsed TOML data:', JSON.stringify(tomlData, null, 2)); if (!tomlData.committee || !Array.isArray(tomlData.committee.members)) { throw new Error('committee.members is not an array in the TOML file'); @@ -124,7 +123,7 @@ jobs: pull_number }); - // Create or update check run + // Update check run const checkRuns = await github.rest.checks.listForRef({ owner, repo, From aae2423e5610bc9ee7bd85a962dec95a7bda16c4 Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri Date: Thu, 22 Aug 2024 15:13:31 +0000 Subject: [PATCH 5/6] check with one --- .github/workflows/pr_approval.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_approval.yml b/.github/workflows/pr_approval.yml index 6bad8de9dedc5..329cf5b43bae2 100644 --- a/.github/workflows/pr_approval.yml +++ b/.github/workflows/pr_approval.yml @@ -98,7 +98,7 @@ jobs: .map(review => review.user.login) ); - const requiredApprovals = 2; + const requiredApprovals = 1; const currentCountfromCommittee = Array.from(approvers) .filter(approver => requiredApprovers.includes(approver)) .length; From ceb21e7e52c390370bfa863daa53e917b293d493 Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri Date: Thu, 22 Aug 2024 15:17:14 +0000 Subject: [PATCH 6/6] remove duplicate logic --- .github/workflows/pr_approval.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_approval.yml b/.github/workflows/pr_approval.yml index 329cf5b43bae2..87469c161fb74 100644 --- a/.github/workflows/pr_approval.yml +++ b/.github/workflows/pr_approval.yml @@ -109,7 +109,7 @@ jobs: // Core logic that checks if the approvers are in the committee const checkName = 'PR Approval Status'; - const conclusion = (approvers.size >= requiredApprovals && currentCountfromCommittee >= 2) ? 'success' : 'failure'; + const conclusion = (currentCountfromCommittee >= requiredApprovals) ? 'success' : 'failure'; const output = { title: checkName, summary: `PR has ${approvers.size} total approvals and ${requiredApprovals} required approvals.`,