neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

reviewers_add.js (2520B)


      1 module.exports = async ({ github, context }) => {
      2  const pr_data = await github.rest.pulls.get({
      3    owner: context.repo.owner,
      4    repo: context.repo.repo,
      5    pull_number: context.issue.number,
      6  });
      7  const labels = pr_data.data.labels.map((e) => e.name);
      8  const reviewers = new Set();
      9 
     10  if (labels.includes("build")) {
     11    reviewers.add("dundargoc");
     12    reviewers.add("jamessan");
     13    reviewers.add("justinmk");
     14  }
     15 
     16  if (labels.includes("ci")) {
     17    reviewers.add("dundargoc");
     18    reviewers.add("jamessan");
     19    reviewers.add("justinmk");
     20  }
     21 
     22  if (labels.includes("column")) {
     23    reviewers.add("lewis6991");
     24  }
     25 
     26  if (labels.includes("comment")) {
     27    reviewers.add("echasnovski");
     28  }
     29 
     30  if (labels.includes("defaults")) {
     31    reviewers.add("gpanders");
     32  }
     33 
     34  if (labels.includes("diagnostic")) {
     35    reviewers.add("gpanders");
     36  }
     37 
     38  if (labels.includes("diff")) {
     39    reviewers.add("lewis6991");
     40  }
     41 
     42  if (labels.includes("editorconfig")) {
     43    reviewers.add("gpanders");
     44  }
     45 
     46  if (labels.includes("marks")) {
     47    reviewers.add("bfredl");
     48  }
     49 
     50  if (labels.includes("filetype")) {
     51    reviewers.add("clason");
     52  }
     53 
     54  if (labels.includes("inccommand")) {
     55    reviewers.add("famiu");
     56  }
     57 
     58  if (labels.includes("lsp")) {
     59    reviewers.add("MariaSolOs");
     60    reviewers.add("ribru17");
     61  }
     62 
     63  if (labels.includes("netrw")) {
     64    reviewers.add("justinmk");
     65  }
     66 
     67  if (labels.includes("options")) {
     68    reviewers.add("famiu");
     69  }
     70 
     71  if (labels.includes("platform:nix")) {
     72    reviewers.add("teto");
     73  }
     74 
     75  if (labels.includes("project-management")) {
     76    reviewers.add("bfredl");
     77    reviewers.add("justinmk");
     78  }
     79 
     80  if (labels.includes("snippet")) {
     81    reviewers.add("MariaSolOs");
     82  }
     83 
     84  if (labels.includes("statusline")) {
     85    reviewers.add("famiu");
     86  }
     87 
     88  if (labels.includes("treesitter")) {
     89    reviewers.add("bfredl");
     90    reviewers.add("clason");
     91    reviewers.add("lewis6991");
     92    reviewers.add("wookayin");
     93    reviewers.add("ribru17");
     94  }
     95 
     96  if (labels.includes("tui")) {
     97    reviewers.add("gpanders");
     98  }
     99 
    100  if (labels.includes("typo")) {
    101    reviewers.add("dundargoc");
    102  }
    103 
    104  if (labels.includes("vim-patch")) {
    105    reviewers.add("zeertzjq");
    106  }
    107 
    108  // Remove person that opened the PR since they can't review themselves
    109  const pr_opener = pr_data.data.user.login;
    110  reviewers.delete(pr_opener);
    111 
    112  github.rest.pulls.requestReviewers({
    113    owner: context.repo.owner,
    114    repo: context.repo.repo,
    115    pull_number: context.issue.number,
    116    reviewers: Array.from(reviewers),
    117  });
    118 };