[Snyk] Fix for 2 vulnerabilities #115
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: First responder docs-content | |
# **What it does**: New pull requests automatically add to the content first responder board. | |
# **Why we have it**: So we don't lose track of new pull reuqests for docs-content to review. | |
# **Who does it impact**: Docs content. | |
on: | |
pull_request: | |
types: | |
- reopened | |
- opened | |
- ready_for_review | |
- closed | |
- unlabeled | |
jobs: | |
first-responder-triage-pr: | |
name: Triage PR to FR project board | |
if: github.repository == 'github/docs-internal' && github.event.pull_request.draft == false && github.event.action != 'unlabeled' && github.event.action != 'closed' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check if the event originated from a team member | |
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d | |
id: set-result | |
with: | |
github-token: ${{secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES}} | |
result-encoding: string | |
script: | | |
const repoName = context.payload.repository.name | |
const ownerName = context.payload.repository.owner.login | |
const issueNumber = (context.eventName === "issues") ? context.payload.issue.number : context.payload.number | |
const updatedIssueInformation = await github.issues.get({ | |
owner: ownerName, | |
repo: repoName, | |
issue_number: issueNumber | |
}) | |
const teamMembers = await github.request( | |
`/orgs/github/teams/docs/members?per_page=100` | |
) | |
const logins = teamMembers.data.map(member => member.login) | |
// ignore PRs opened by docs bot accounts | |
logins.push('Octomerger', 'octoglot') | |
if (logins.some(login => login === updatedIssueInformation.data.user.login)) { | |
console.log(`This issue or pull request was authored by a member of the github/docs team.`) | |
return 'true' | |
} | |
console.log(`This issue or pull request was authored by an external contributor.`) | |
return 'false' | |
- name: Label external contributor pull requests with docs-content-fr | |
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 | |
if: steps.set-result.outputs.result == 'false' | |
with: | |
repo-token: '${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}' | |
add-labels: 'docs-content-fr' | |
- name: Triage to FR PR project column | |
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9 | |
if: steps.set-result.outputs.result == 'false' | |
with: | |
action-token: ${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }} | |
project-url: 'https://github.com/orgs/github/projects/1367' | |
column-name: 'Docs-internal external contributor PRs' | |
first-responder-remove-pr: | |
name: Remove PR from FR project board | |
if: github.repository == 'github/docs-internal' && ((github.event.label.name == 'docs-content-fr' && github.event.action == 'unlabeled') || github.event.action == 'closed') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Remove card from project | |
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d | |
with: | |
github-token: ${{secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES}} | |
result-encoding: string | |
script: | | |
const issueToRemove = context.payload.number | |
const cards = await github.projects.listCards({ | |
column_id: 11130889 | |
}) | |
cards.data.forEach(card => { | |
if (card.content_url) { | |
const cardIssueNumber = parseInt(card.content_url.split('/').pop(), 10) | |
if (cardIssueNumber === issueToRemove) { | |
const cards = github.projects.deleteCard({ | |
card_id: card.id | |
}) | |
} | |
} | |
}) | |
- name: Remove docs-content-fr label if not already removed | |
if: github.event.action == 'closed' | |
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 | |
with: | |
repo-token: '${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}' | |
remove-labels: 'docs-content-fr' |