Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate tracking of the community pull requests #21

Closed
MisRob opened this issue Aug 11, 2024 · 3 comments
Closed

Automate tracking of the community pull requests #21

MisRob opened this issue Aug 11, 2024 · 3 comments
Assignees

Comments

@MisRob
Copy link
Member

MisRob commented Aug 11, 2024

Background

Almost every morning, @MisRob will make a cup of 🍵, and opens the list of Kolibri pull requests, Studio pull requests, and KDS pull requests and finds all new/updated/closed pull requests authored by external volunteers.

Then she logs them in Google Sheet spreadsheet saved on Learning Equality's Google Drive.

Screenshot from 2024-08-11 20-07-14

The spreadsheet is used for multiple purposes, for example to pull out user names of contributors for a particular month so we can send them gratitudes, to nudge core team members to follow-up on reviews, to have an overall overview of activity, etc.

Summary

The goal of this task is to automate the aforementioned workflow. This will help us save some time that could be used for interacting with the community instead, and will also prevent from missing some pull requests.

On a high-level it would work:

  • A new row is inserted to the spreadsheet when a new pull request is open in Kolibri, Studio, and KDS repositories by an author who's not a member of Learning Equality GitHub organization
  • An existing row is updated when a corresponding pull request is updated (merged, closed, title changed, reviewer changed, assignee changed...)

Spreadsheet columns:

  • Merged: date when a PR was merged, in yyyy-mm-dd format, example 2024-03-25
  • Link: PR link, example https://github.com/learningequality/kolibri/pull/12382
  • Author: Author's GitHub username, example MisRob
  • Title: PR title, example Add initial version of Bloom Renderer
  • Repository: Repository name, example kolibri-design-system
  • Updated: Date when a spreadsheet row was updated the last time, in yyyy-mm-dd format, example 2024-03-25
  • Reviewers: GitHub usernames of "Reviewers", separated by comma, example rtibbles,akolson,MisRob
  • Assignees: GitHub usernames of "Assignees", separated by comma, example rtibbles,akolson,MisRob

All information above should be updated in the spreadsheet whenever there is a related change on a pull request.

The update in the PR should never replace the whole sheet row. Rather, it needs to only update the corresponding column in the row (this is because there will be some manually added columns at the end of rows that shouldn't be disappearing)

Guidance

  • For the first version, it may be best to start two test repositories and a new Google Sheet. As soon as the implementation is stable, we will move to Learning Equality repositories and configure the action with access tokens.
  • For complex tasks, it is rather hard for our team to maintain shell-based implementations so
  • As per @rtibbles's guidance, whenever possible we try to avoid 3rd party actions, except the official ones (security and upgrade related issues)
  • It'd be welcome if we didn't need to have three copies of the same action in aforementioned repositories, and also adding a new repository would be ideally straightforward

Comments

Not necessary but if it'd be interesting, we'd welcome exploration of implementing a layer that we could use as a basis for common tasks for many actions. For example, it could have a form of a file with helper functions get_pull_request_author, get_pull_request_title, is_member_of_le, etc. Perhaps this task could lay down some foundations.

@GarvitSinghal47
Copy link
Contributor

@MisRob Could you please assign this issue to me? 😄

@MisRob
Copy link
Member Author

MisRob commented Aug 12, 2024

Yes , thank you @GarvitSinghal47

@MisRob
Copy link
Member Author

MisRob commented Dec 6, 2024

This is now done and will be observed in production. Thanks so much @GarvitSinghal47, this is incredibly helpful for me.

@MisRob MisRob closed this as completed Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants