Skip to content

Commit acfb470

Browse files
authored
fix(CI): add outer collaborator checker (#100)
1 parent 3925528 commit acfb470

1 file changed

Lines changed: 28 additions & 3 deletions

File tree

.github/workflows/rbln_trigger_on_pr.yaml

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
name: vllm-rbln / PR
32

43
on:
@@ -32,6 +31,7 @@ jobs:
3231
if: ${{ needs.check-skip-ci.outputs.should_skip != 'true' }}
3332
outputs:
3433
is_team_member: ${{ steps.check_member.outputs.IS_TEAM_MEMBER }}
34+
is_collaborator: ${{ steps.check_member.outputs. IS_COLLABORATOR }}
3535
steps:
3636
- name: Fetch team members
3737
id: fetch_team
@@ -41,14 +41,39 @@ jobs:
4141
-d '{"query":"query { organization(login: \"rebellions-sw\") { team(slug: \"rebel-sw-team\") { members(first: 100) { nodes { login } } } } }"}' \
4242
https://api.github.com/graphql)
4343
echo "$response" | jq -r '.data.organization.team.members.nodes[].login' > team_members.txt
44+
cat team_members.txt
45+
4446
- name: Check if PR author is a team member
4547
id: check_member
4648
run: |
4749
pr_author=${{ github.event.pull_request.user.login }}
50+
echo "Checking if PR author '$pr_author' is a team member..."
4851
if grep -qx "$pr_author" team_members.txt; then
52+
result="true"
4953
echo "IS_TEAM_MEMBER=true" >> $GITHUB_OUTPUT
54+
echo "✅ IS_TEAM_MEMBER set to: $result"
5055
else
56+
result="false"
5157
echo "IS_TEAM_MEMBER=false" >> $GITHUB_OUTPUT
58+
echo "❌ IS_TEAM_MEMBER set to: $result"
59+
fi
60+
61+
- name: Check if collaborator
62+
if: ${{ needs.check-team-member.outputs.is_team_member != 'true' }}
63+
run: |
64+
pr_author=${{ github.event.pull_request.user.login }}
65+
echo "Checking if PR author '$pr_author' is a collaborator..."
66+
is_collaborator=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: Bearer ${{ secrets.GIT_PAT }}" \
67+
https://api.github.com/repos/${{ github.repository }}/collaborators/$pr_author)
68+
echo "HTTP response code: $is_collaborator"
69+
if [ "$is_collaborator" -eq 204 ]; then
70+
result="true"
71+
echo "IS_COLLABORATOR=true" >> $GITHUB_OUTPUT
72+
echo "✅ IS_COLLABORATOR set to: $result"
73+
else
74+
result="false"
75+
echo "IS_COLLABORATOR=false" >> $GITHUB_OUTPUT
76+
echo "❌ IS_COLLABORATOR set to: $result"
5277
fi
5378
5479
check-code-quality:
@@ -70,7 +95,7 @@ jobs:
7095

7196
vllm-rbln-pytest:
7297
needs: [check-skip-ci, check-team-member, check-code-quality, get-compiler-version, get-optimum-version]
73-
if: ${{ needs.check-skip-ci.outputs.should_skip != 'true' && needs.check-team-member.outputs.is_team_member == 'true' }}
98+
if: ${{ needs.check-skip-ci.outputs.should_skip != 'true' && (needs.check-team-member.outputs.is_team_member == 'true' || needs.check-team-member.outputs.is_collaborator == 'true') }}
7499
uses: ./.github/workflows/rbln_vllm-rbln_pytest.yaml
75100
secrets: inherit
76101
with:
@@ -79,7 +104,7 @@ jobs:
79104

80105
vllm-rbln-optimum-ci:
81106
needs: [check-skip-ci, check-team-member, check-code-quality, get-compiler-version, get-optimum-version, vllm-rbln-pytest]
82-
if: ${{ needs.check-skip-ci.outputs.should_skip != 'true' && needs.check-team-member.outputs.is_team_member == 'true' }}
107+
if: ${{ needs.check-skip-ci.outputs.should_skip != 'true' && (needs.check-team-member.outputs.is_team_member == 'true' || needs.check-team-member.outputs.is_collaborator == 'true') }}
83108
uses: ./.github/workflows/rbln_optimum_ci.yaml
84109
secrets: inherit
85110
with:

0 commit comments

Comments
 (0)