summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpgww <pgww@lists.pglaf.org>2025-07-10 08:46:10 -0700
committerpgww <pgww@lists.pglaf.org>2025-07-10 08:46:10 -0700
commit08795f8ef3099f90f451e2eeef713a21c7e32af5 (patch)
tree298e2ccedac4df1e1fcce4f754fe4e4c50f1d23d
parent39638245dc49df007b9deebc788b98b4f4f616e5 (diff)
remove GitHub workflowHEADmain
-rw-r--r--.github/workflows/auto-assign-reviewers.yml119
1 files changed, 0 insertions, 119 deletions
diff --git a/.github/workflows/auto-assign-reviewers.yml b/.github/workflows/auto-assign-reviewers.yml
deleted file mode 100644
index e9c2b3e..0000000
--- a/.github/workflows/auto-assign-reviewers.yml
+++ /dev/null
@@ -1,119 +0,0 @@
-name: Auto-assign PR Reviewers
-
-on:
- pull_request:
- types: [opened, reopened, ready_for_review]
-
-jobs:
- assign-reviewers:
- runs-on: ubuntu-latest
- if: github.event.pull_request.draft == false
-
- steps:
- - name: Assign reviewers
- uses: actions/github-script@v7
- with:
- script: |
- const { owner, repo, number } = context.repo;
- const prNumber = context.payload.pull_request.number;
- const prAuthor = context.payload.pull_request.user.login;
-
- // Define your team members and reviewers
- const reviewers = [
- 'rtonsing',
- 'rbfrank'
- ];
-
- // Define team reviewers (GitHub teams)
- const teamReviewers = [
- 'frontend-team',
- 'backend-team'
- ];
-
- // Filter out the PR author from reviewers
- const availableReviewers = reviewers.filter(reviewer => reviewer !== prAuthor);
-
- // Assign reviewers based on file changes (optional)
- const { data: files } = await github.rest.pulls.listFiles({
- owner,
- repo,
- pull_number: prNumber
- });
-
- let selectedReviewers = [];
- let selectedTeamReviewers = [];
-
- // Example: Assign based on file patterns
- const hasBackendChanges = files.some(file =>
- file.filename.includes('src/') ||
- file.filename.includes('api/') ||
- file.filename.endsWith('.py') ||
- file.filename.endsWith('.js')
- );
-
- const hasFrontendChanges = files.some(file =>
- file.filename.includes('components/') ||
- file.filename.includes('pages/') ||
- file.filename.endsWith('.tsx') ||
- file.filename.endsWith('.css')
- );
-
- const hasConfigChanges = files.some(file =>
- file.filename.includes('config/') ||
- file.filename.includes('.yml') ||
- file.filename.includes('.yaml') ||
- file.filename.includes('Dockerfile')
- );
-
- // Assign reviewers based on changes
- if (hasBackendChanges) {
- selectedReviewers.push('reviewer1', 'reviewer2');
- selectedTeamReviewers.push('backend-team');
- }
-
- if (hasFrontendChanges) {
- selectedReviewers.push('reviewer2', 'reviewer3');
- selectedTeamReviewers.push('frontend-team');
- }
-
- if (hasConfigChanges) {
- selectedReviewers.push('team-lead');
- }
-
- // If no specific patterns matched, assign default reviewers
- if (selectedReviewers.length === 0) {
- selectedReviewers = availableReviewers.slice(0, 2); // Assign first 2 available reviewers
- }
-
- // Remove duplicates and filter out PR author
- selectedReviewers = [...new Set(selectedReviewers)].filter(reviewer => reviewer !== prAuthor);
- selectedTeamReviewers = [...new Set(selectedTeamReviewers)];
-
- // Limit to maximum of 3 individual reviewers
- selectedReviewers = selectedReviewers.slice(0, 3);
-
- try {
- if (selectedReviewers.length > 0 || selectedTeamReviewers.length > 0) {
- await github.rest.pulls.requestReviewers({
- owner,
- repo,
- pull_number: prNumber,
- reviewers: selectedReviewers // ,
- // team_reviewers: selectedTeamReviewers
- });
-
- console.log(`Assigned reviewers: ${selectedReviewers.join(', ')}`);
- console.log(`Assigned team reviewers: ${selectedTeamReviewers.join(', ')}`);
-
- // Optional: Add a comment to the PR
- await github.rest.issues.createComment({
- owner,
- repo,
- issue_number: prNumber,
- body: `🤖 Auto-assigned reviewers based on file changes:\n- Individual reviewers: ${selectedReviewers.join(', ')}\n- Team reviewers: ${selectedTeamReviewers.join(', ')}`
- });
- }
- } catch (error) {
- console.error('Error assigning reviewers:', error);
- core.setFailed(`Failed to assign reviewers: ${error.message}`);
- } \ No newline at end of file