This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 6114b81c928 feat(ci): label PRs/issues from UTSC 2026 students (#45656)
6114b81c928 is described below
commit 6114b81c928466f2396cad3e902cd1bfa082e427
Author: Evan Rusackas <[email protected]>
AuthorDate: Fri Oct 23 16:58:46 2026 +0100
feat(ci): label PRs/issues from UTSC 2026 students (#45656)
Co-authored-by: Claude Sonnet 5 <[email protected]>
---
.github/utsc2026-students.yml | 63 ++++++++++++++++++++++++++++++++++
.github/workflows/utsc2026-labeler.yml | 57 ++++++++++++++++++++++++++++++
2 files changed, 120 insertions(+)
diff --git a/.github/utsc2026-students.yml b/.github/utsc2026-students.yml
new file mode 100644
index 00000000000..a760dba40a8
--- /dev/null
+++ b/.github/utsc2026-students.yml
@@ -0,0 +1,63 @@
+# GitHub handles of UTSC 2026 course students. Any PR or issue opened by one
+# of these users is automatically labeled `utsc2026` (see
+# .github/workflows/utsc2026-labeler.yml). One handle per line, as a YAML
+# list item (`- handle`); `#` starts a comment.
+- JusByte
+- 7AbdUrRehman7
+- jonathan-imanu
+- ara1143
+- MealadE
+- ali-rajan
+- NabilAldihni
+- amnakhairi0
+- alizaasifb
+- CodingRookieA
+- moizm05
+- jchong9
+- EkVid
+- KristiDodaj
+- Kushal-D-Patel
+- Haseeb702
+- Jain-m3392
+- alankritverma01
+- Adrit-3001
+- IshanAmin1
+- rhodwell
+- amandajzhu
+- mbilal29
+- HariBala246
+- mallisho
+- MegumiKat
+- orion222
+- ashyng
+- MatthewSnelgrove
+- auricz
+- milen-t050
+- JosephSun2003
+- JerryHe05
+- dujanah
+- MichaelWK04
+- BobbyAdiSalim
+- ansh-patel2005
+- KobeChui
+- DarthJarJarJar
+- HBenipal
+- yoloanda
+- CherylZ4
+- RohithS05
+- ZayLinAung
+- devCodesApps
+- IsaiahH2004
+- dauiysuns
+- AashirM2004
+- Madan015
+- teddio496
+- lilyxm
+- anish422
+- neloduka-sobe
+- danishmohammed
+- danielstevanus88
+- adeebnawshad
+- zuhair-mzk
+- LucasP4321
+- eliu0412
diff --git a/.github/workflows/utsc2026-labeler.yml
b/.github/workflows/utsc2026-labeler.yml
new file mode 100644
index 00000000000..fae6ee421d4
--- /dev/null
+++ b/.github/workflows/utsc2026-labeler.yml
@@ -0,0 +1,57 @@
+name: "UTSC 2026 Student Labeler"
+
+on: # zizmor: ignore[dangerous-triggers] - needs pull_request_target for a
+ # writable token on fork PRs; the script only reads the opaque author
+ # login/number fields below, never PR-controlled free text (title, body,
+ # branch), and nothing is interpolated into a shell `run:`
+ pull_request_target:
+ branches: [master]
+ types: [opened]
+ issues:
+ types: [opened]
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number ||
github.event.issue.number }}
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+
+jobs:
+ label:
+ name: Label
+ permissions:
+ contents: read
+ issues: write # to add the utsc2026 label to a matching issue
+ pull-requests: write # to add the utsc2026 label to a matching PR
+ runs-on: ubuntu-slim
+ steps:
+ - name: Label if author is a UTSC 2026 student
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 #
v9.0.0
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const { data: file } = await github.rest.repos.getContent({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ path: '.github/utsc2026-students.yml',
+ });
+ const students = Buffer.from(file.content, 'base64')
+ .toString('utf8')
+ .split('\n')
+ .map(line => line.replace(/#.*/, '').trim())
+ .filter(line => line.startsWith('- '))
+ .map(line => line.slice(2).trim().toLowerCase());
+
+ const target = context.payload.pull_request ?? context.payload.issue;
+ const author = target.user.login.toLowerCase();
+ if (!students.includes(author)) {
+ return;
+ }
+
+ await github.rest.issues.addLabels({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ issue_number: target.number,
+ labels: ['utsc2026'],
+ });