Spaces:
Running
Running
# Author: Rishab | |
name: Add Collaborators v1.1 | |
on: | |
push: | |
branches: | |
- master | |
- main | |
- dev | |
jobs: | |
add-collaborators: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Add Collaborators | |
uses: actions/github-script@v4.0.2 | |
with: | |
github-token: ${{secrets.ADMIN_GITHUB_TOKEN}} | |
script: | | |
const fs = require('fs'); | |
const readline = require('readline'); | |
const readInterface = readline.createInterface({ | |
input: fs.createReadStream('./COLLABORATORS'), | |
output: process.stdout, | |
console: false | |
}); | |
readInterface.on('line', async function(line) { | |
try { | |
await github.repos.checkCollaborator({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
username: line, | |
}); | |
} catch(err) { | |
console.log(err) | |
if(err.toString() === "HttpError: Not Found"){ | |
await github.repos.addCollaborator({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
username: line, | |
permission: 'push' | |
}); | |
} else { | |
core.setFailed(err.toString()) | |
} | |
} | |
}); | |