Skip to content

Commit b121951

Browse files
cortinicoOlimpiaZurek
authored andcommitted
Move on-issue-labeled to use actions/github-script@v6 (facebook#35474)
Summary: Pull Request resolved: facebook#35474 This cleans up our `on-issue-labeled` workflow and makes sure we use only github-scripts. So we don't need to checkout the code & run an external action. Changelog: [Internal] [Changed] - Move on-issue-labeled to use actions/github-script@v6 Reviewed By: cipolleschi Differential Revision: D41522650 fbshipit-source-id: c93d10eddf5be2ca9f779389e8059633291c0138
1 parent 553a273 commit b121951

File tree

2 files changed

+153
-62
lines changed

2 files changed

+153
-62
lines changed

.github/respond-to-issue-based-on-label.yml

Lines changed: 0 additions & 52 deletions
This file was deleted.

.github/workflows/on-issue-labeled.yml

Lines changed: 153 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,161 @@ on:
55
types: labeled
66

77
permissions:
8-
contents: read
8+
contents: write
9+
issues: write
910

1011
jobs:
11-
respondToIssueBasedOnLabel:
12-
permissions:
13-
contents: read # for hramos/respond-to-issue-based-on-label to fetch config file
14-
issues: write # for hramos/respond-to-issue-based-on-label to update issues
15-
name: Respond to Issue Based on Label
12+
type-invalid:
1613
runs-on: ubuntu-latest
14+
if: "${{ contains(github.event.label.name, 'Type: Invalid') }}"
1715
steps:
18-
- uses: actions/checkout@v3
19-
- name: Respond to Issue Based on Label
20-
uses: hramos/respond-to-issue-based-on-label@v2
16+
- uses: actions/github-script@v6
2117
with:
22-
repo-token: ${{ secrets.GITHUB_TOKEN }}
18+
script: |
19+
await github.rest.issues.update({
20+
issue_number: context.issue.number,
21+
owner: context.repo.owner,
22+
repo: context.repo.repo,
23+
state: "closed",
24+
})
25+
type-question:
26+
runs-on: ubuntu-latest
27+
if: "${{ contains(github.event.label.name, 'Type: Question') }}"
28+
steps:
29+
- uses: actions/github-script@v6
30+
with:
31+
script: |
32+
await github.rest.issues.createComment({
33+
issue_number: context.issue.number,
34+
owner: context.repo.owner,
35+
repo: context.repo.repo,
36+
body: `We are using GitHub issues exclusively to track bugs in React Native. GitHub may not be the ideal place to ask a question, but you can try asking over on [Stack Overflow](http://stackoverflow.com/questions/tagged/react-native), or on [Reactiflux](https://www.reactiflux.com/).`,
37+
})
38+
await github.rest.issues.update({
39+
issue_number: context.issue.number,
40+
owner: context.repo.owner,
41+
repo: context.repo.repo,
42+
state: "closed",
43+
})
44+
type-docs:
45+
runs-on: ubuntu-latest
46+
if: "${{ contains(github.event.label.name, 'Type: Docs') }}"
47+
steps:
48+
- uses: actions/github-script@v6
49+
with:
50+
script: |
51+
await github.rest.issues.createComment({
52+
issue_number: context.issue.number,
53+
owner: context.repo.owner,
54+
repo: context.repo.repo,
55+
body: `Please report documentation issues in the [react-native-website](https://github.com/facebook/react-native-website/issues) repository.`,
56+
})
57+
await github.rest.issues.update({
58+
issue_number: context.issue.number,
59+
owner: context.repo.owner,
60+
repo: context.repo.repo,
61+
state: "closed",
62+
})
63+
resolution-for-stack-overflow:
64+
runs-on: ubuntu-latest
65+
if: "${{ contains(github.event.label.name, 'Resolution: For Stack Overflow') }}"
66+
steps:
67+
- uses: actions/github-script@v6
68+
with:
69+
script: |
70+
await github.rest.issues.createComment({
71+
issue_number: context.issue.number,
72+
owner: context.repo.owner,
73+
repo: context.repo.repo,
74+
body: `We are using GitHub issues exclusively to track bugs in the core React Native library. Please try asking over on [Stack Overflow](http://stackoverflow.com/questions/tagged/react-native) as it is better suited for this type of question.`,
75+
})
76+
await github.rest.issues.update({
77+
issue_number: context.issue.number,
78+
owner: context.repo.owner,
79+
repo: context.repo.repo,
80+
state: "closed",
81+
})
82+
needs-issue-template:
83+
runs-on: ubuntu-latest
84+
if: "${{ contains(github.event.label.name, 'Needs: Issue Template') }}"
85+
steps:
86+
- uses: actions/github-script@v6
87+
with:
88+
script: |
89+
await github.rest.issues.createComment({
90+
issue_number: context.issue.number,
91+
owner: context.repo.owner,
92+
repo: context.repo.repo,
93+
body: `| :warning: | Missing Required Fields |
94+
| --- | --- |
95+
| :information_source: | It looks like your issue may be missing some necessary information. GitHub provides an example template whenever a [new issue is created](https://github.com/facebook/react-native/issues/new?template=bug_report.md). Could you go back and make sure to fill out the template? You may edit this issue, or close it and open a new one. |`,
96+
})
97+
await github.rest.issues.addLabels({
98+
issue_number: context.issue.number,
99+
owner: context.repo.owner,
100+
repo: context.repo.repo,
101+
labels: ['Needs: Author Feedback']
102+
})
103+
needs-environment-info:
104+
runs-on: ubuntu-latest
105+
if: "${{ contains(github.event.label.name, 'Needs: Environment Info') }}"
106+
steps:
107+
- uses: actions/github-script@v6
108+
with:
109+
script: |
110+
await github.rest.issues.createComment({
111+
issue_number: context.issue.number,
112+
owner: context.repo.owner,
113+
repo: context.repo.repo,
114+
body: `| :warning: | Missing Environment Information |
115+
| --- | --- |
116+
| :information_source: | Your issue may be missing information about your development environment. You can obtain the missing information by running <code>react-native info</code> in a console. |`,
117+
})
118+
await github.rest.issues.addLabels({
119+
issue_number: context.issue.number,
120+
owner: context.repo.owner,
121+
repo: context.repo.repo,
122+
labels: ['Needs: Author Feedback']
123+
})
124+
needs-verify-on-latest-version:
125+
runs-on: ubuntu-latest
126+
if: "${{ contains(github.event.label.name, 'Needs: Verify on Latest Version') }}"
127+
steps:
128+
- uses: actions/github-script@v6
129+
with:
130+
script: |
131+
await github.rest.issues.createComment({
132+
issue_number: context.issue.number,
133+
owner: context.repo.owner,
134+
repo: context.repo.repo,
135+
body: `| :warning: | Using Old Version |
136+
| --- | --- |
137+
| :information_source: | It looks like you are using an older version of React Native. Please [upgrade](https://reactnative.dev/docs/upgrading) to the latest version, and verify if the issue persists. If it does not, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the current release. |`,
138+
})
139+
await github.rest.issues.addLabels({
140+
issue_number: context.issue.number,
141+
owner: context.repo.owner,
142+
repo: context.repo.repo,
143+
labels: ['Needs: Author Feedback']
144+
})
145+
needs-repro:
146+
runs-on: ubuntu-latest
147+
if: "${{ contains(github.event.label.name, 'Needs: Repro') }}"
148+
steps:
149+
- uses: actions/github-script@v6
150+
with:
151+
script: |
152+
await github.rest.issues.createComment({
153+
issue_number: context.issue.number,
154+
owner: context.repo.owner,
155+
repo: context.repo.repo,
156+
body: `| :warning: | Missing Reproducible Example |
157+
| --- | --- |
158+
| :information_source: | It looks like your issue is missing a reproducible example. Please provide a [Snack](https://snack.expo.dev) or a repository that demonstrates the issue you are reporting in a [minimal, complete, and reproducible](https://stackoverflow.com/help/minimal-reproducible-example) manner. |`,
159+
})
160+
await github.rest.issues.addLabels({
161+
issue_number: context.issue.number,
162+
owner: context.repo.owner,
163+
repo: context.repo.repo,
164+
labels: ['Needs: Author Feedback']
165+
})

0 commit comments

Comments
 (0)