Skip to content

chore: add testing sheet workflow to github#10003

Open
yihuiliao wants to merge 7 commits intomainfrom
update-labeler
Open

chore: add testing sheet workflow to github#10003
yihuiliao wants to merge 7 commits intomainfrom
update-labeler

Conversation

@yihuiliao
Copy link
Copy Markdown
Member

@yihuiliao yihuiliao commented Apr 30, 2026

Sets up a new github action that is triggered by a cron job (or manually) which looks at the commits made in the past 7 days and writes it to a excel spreadsheet (goodbye google sheets) and sends it as an attachment in a slack message.

One caveat is that someone will need to download the file and upload it to the Testing folder within the team's sharepoint. Once it's added to the folder, it will trigger a different job that will send a message to the RSP Weekly Testing Party with a link to the file. This job is set up within Power Automate so none of the file changes here are related to this part of the workflow.

Another thing is that this job will only look at the past 7 days. I know that sometimes testing gets bumped out or moved to another day. In that case, you can run it in the terminal like so node scripts/sendWeeklyExcelSheet.mjs 2026-04-20 2026-05-02. Just make sure you have the correct Slack tokens. Everyone on the team should have access to the Testing Sheet App on Slack.

I've also added more labels to the labeler workflow because we weren't great at adding labels manually (I'm also guilty of this).

In addition, I've added support of "test off PR" so if you have a PR that you want to test, just add the label and the spreadsheet should pick it up. There's also the "no testing" label which will skip over any PR's that don't need manual testing.

✅ Pull Request Checklist:

  • Included link to corresponding React Spectrum GitHub Issue.
  • Added/updated unit tests and storybook for this change (for new code or code which already has tests).
  • Filled out test instructions.
  • Updated documentation (if it already exists for this component).
  • Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

@yihuiliao yihuiliao changed the title chore: add more labels to the labeler action wip: add more labels to the labeler action Apr 30, 2026
@rspbot
Copy link
Copy Markdown

rspbot commented Apr 30, 2026

@LFDanLu
Copy link
Copy Markdown
Member

LFDanLu commented May 1, 2026

I think adding these tags is fine, will be helpful for release notes too I assume? Was this attached to the testing sheet automation work you were doing?

@yihuiliao
Copy link
Copy Markdown
Member Author

@LFDanLu yeah this goes along with the testing sheet automation stuff. i imagine this will also be useful for release notes if we update the script

@yihuiliao yihuiliao changed the title wip: add more labels to the labeler action chore: add testing sheet workflow to github May 1, 2026
@rspbot
Copy link
Copy Markdown

rspbot commented May 1, 2026

@yihuiliao yihuiliao marked this pull request as ready for review May 1, 2026 23:04
@rspbot
Copy link
Copy Markdown

rspbot commented May 1, 2026

@rspbot
Copy link
Copy Markdown

rspbot commented May 4, 2026

@rspbot
Copy link
Copy Markdown

rspbot commented May 4, 2026

@rspbot
Copy link
Copy Markdown

rspbot commented May 4, 2026

## API Changes

react-aria-components

/react-aria-components:MenuSection

 MenuSection <T extends {}> {
   aria-label?: string
   children?: ReactNode | ({}) => ReactElement
   className?: string = 'react-aria-MenuSection'
   defaultSelectedKeys?: 'all' | Iterable<Key>
   dependencies?: ReadonlyArray<any>
+  disabledKeys?: Iterable<Key>
   disallowEmptySelection?: boolean
   id?: Key
   items?: Iterable<{}>
   onSelectionChange?: (Selection) => void
   selectedKeys?: 'all' | Iterable<Key>
   selectionMode?: SelectionMode
   shouldCloseOnSelect?: boolean
   style?: CSSProperties
   value?: {}
 }

/react-aria-components:MenuSectionProps

 MenuSectionProps <T> {
   aria-label?: string
   children?: ReactNode | (T) => ReactElement
   className?: string = 'react-aria-MenuSection'
   defaultSelectedKeys?: 'all' | Iterable<Key>
   dependencies?: ReadonlyArray<any>
+  disabledKeys?: Iterable<Key>
   disallowEmptySelection?: boolean
   id?: Key
   items?: Iterable<T>
   onSelectionChange?: (Selection) => void
   selectedKeys?: 'all' | Iterable<Key>
   selectionMode?: SelectionMode
   shouldCloseOnSelect?: boolean
   style?: CSSProperties
   value?: T
 }

@react-spectrum/s2

/@react-spectrum/s2:MenuSection

 MenuSection <T extends {}> {
   aria-label?: string
   children?: ReactNode | (T) => ReactElement
   defaultSelectedKeys?: 'all' | Iterable<Key>
   dependencies?: ReadonlyArray<any>
+  disabledKeys?: Iterable<Key>
   disallowEmptySelection?: boolean
   id?: Key
   items?: Iterable<T>
   onSelectionChange?: (Selection) => void
   selectionMode?: SelectionMode
   shouldCloseOnSelect?: boolean
   value?: T
 }

/@react-spectrum/s2:MenuSectionProps

 MenuSectionProps <T extends {}> {
   aria-label?: string
   children?: ReactNode | (T) => ReactElement
   defaultSelectedKeys?: 'all' | Iterable<Key>
   dependencies?: ReadonlyArray<any>
+  disabledKeys?: Iterable<Key>
   disallowEmptySelection?: boolean
   id?: Key
   items?: Iterable<T>
   onSelectionChange?: (Selection) => void
   selectionMode?: SelectionMode
   shouldCloseOnSelect?: boolean
   value?: T
 }

Copy link
Copy Markdown
Member

@LFDanLu LFDanLu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some preliminary questions from reading the PR description, haven't looked at the scripts just yet:

  • So someone needs to create a sheet every week still? Which file does it mean by "download the file and upload it to the Testing folder"
  • Am I understanding it correctly that the flow is roughly: "someone uploads a blank(?) new sheet to the testing folder" -> "Power Automate (some kind of automation by Microsoft?) will then run the scripts to get the commits for the past week and fill out the sheet" -> "the github workflow comments to slack the link to the sheet"?
  • How much information (aka read/write) was github/sharepoint/slack able to expose to one another here? I'm assuming there were some limitations hence some of the more manual steps existing
  • Is it possible for the "test off PR" tag to be stripped off automatically after it gets added to the test sheet? I'm just worried that people will forget to remove them after being tested and then a PR gets added to the next testing session afterwards

@LFDanLu
Copy link
Copy Markdown
Member

LFDanLu commented May 6, 2026

will leave more comments here since github is having problem with PR line/files comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants