@@ -134,20 +134,31 @@ jobs:
134
134
# - list of stack filters: `.github/filters.yml`
135
135
# - list of stack labels: https://github.com/WordPress/openverse/labels?q=stack
136
136
script : |
137
- const stacks = ["catalog", "api", "ingestion_server", "frontend", "documentation", "mgmt"]
138
- const labels = JSON
139
- .parse('${{ needs.get-changes.outputs.changes }}')
140
- .filter(change => stacks.includes(change))
141
- .map(change => `🧱 stack: ${change.replace("_", " ")}`)
142
- if (!labels.length) {
143
- labels.push("🚦 status: awaiting triage", "🏷 status: label work required")
144
- }
145
- github.rest.issues.addLabels({
137
+ const labels = await github.rest.issues.listLabelsOnIssue({
146
138
issue_number: context.issue.number,
147
139
owner: context.repo.owner,
148
140
repo: context.repo.repo,
149
- labels,
150
141
})
142
+ console.log(labels.data)
143
+ if (labels.data.some(label => label.name.startsWith("🧱 stack: "))) {
144
+ console.log("Stack label already applied, skipping.")
145
+ } else {
146
+ const stacks = ["catalog", "api", "ingestion_server", "frontend", "documentation", "mgmt"]
147
+ const labels = JSON
148
+ .parse('${{ needs.get-changes.outputs.changes }}')
149
+ .filter(change => stacks.includes(change))
150
+ .map(change => `🧱 stack: ${change.replace("_", " ")}`)
151
+ if (!labels.length) {
152
+ console.log("Couldn't determine stack, applying triage labels.")
153
+ labels.push("🚦 status: awaiting triage", "🏷 status: label work required")
154
+ }
155
+ await github.rest.issues.addLabels({
156
+ issue_number: context.issue.number,
157
+ owner: context.repo.owner,
158
+ repo: context.repo.repo,
159
+ labels,
160
+ })
161
+ }
151
162
152
163
build-images :
153
164
name : Build Docker images
0 commit comments