Skip to content

feat(providers): add DeepSeek as new LLM provider #592

feat(providers): add DeepSeek as new LLM provider

feat(providers): add DeepSeek as new LLM provider #592

name: Auto Assign Reviewers
on:
pull_request:
types: [opened, ready_for_review]
jobs:
assign-reviewers:
if: |
github.event.pull_request.draft == false &&
!contains(fromJson('["iskhakov", "Konstantinov-Innokentii", "joeyorlando", "brojd"]'), github.event.pull_request.user.login)
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Randomly assign reviewer from core team
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
with:
script: |
const coreTeam = ['iskhakov', 'Konstantinov-Innokentii', 'joeyorlando', 'brojd'];
const prAuthor = context.payload.pull_request.user.login;
// Filter out the PR author if they're somehow in the core team (extra safety)
const availableReviewers = coreTeam.filter(member => member !== prAuthor);
// Randomly select one reviewer
const randomIndex = Math.floor(Math.random() * availableReviewers.length);
const selectedReviewer = availableReviewers[randomIndex];
console.log(`Assigning reviewer: ${selectedReviewer} to PR #${context.payload.pull_request.number}`);
try {
await github.rest.pulls.requestReviewers({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number,
reviewers: [selectedReviewer]
});
console.log(`Successfully assigned ${selectedReviewer} as reviewer`);
} catch (error) {
console.error(`Failed to assign reviewer: ${error.message}`);
// Don't fail the workflow if reviewer assignment fails
// (e.g., if the reviewer doesn't have access to the repo)
}
// Also assign the PR to the selected reviewer
try {
await github.rest.issues.addAssignees({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
assignees: [selectedReviewer]
});
console.log(`Successfully assigned ${selectedReviewer} as PR assignee`);
} catch (error) {
console.error(`Failed to assign PR assignee: ${error.message}`);
// Don't fail the workflow if assignee assignment fails
}