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

Enable auto building agendas from GH issues #154

Closed
wants to merge 33 commits into from
Closed

Enable auto building agendas from GH issues #154

wants to merge 33 commits into from

Conversation

jmertic
Copy link
Contributor

@jmertic jmertic commented Apr 14, 2020

To make building agendas easier, I've created a Github action that will automatically build an agenda and meeting notes format as a GitHub issues with the label 'meeting', from open GH issues or PRs with the label 'meeting-agenda'.

To address @jfpanisset comments ( thank you that! ) here's how it works in a nutshell...

  • Anyone wanting to add an agenda item to the next TAC meeting just needs to create a new GitHub Issue or Pull request and add the label 'meeting-agenda'
  • n days beforehand ( I see the PR has it set to 10, but I think probably 1-2 days is more realistic ) the agenda will be created as a GitHub Issue ( with the label 'meeting' ) and emailed to the TAC automatically. Any new items to add can be suggested via comment - if you add the 'meeting-agenda' to an issue/PR at that point it won't be added.

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
…EMPLATE/meeting.md

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
Copy link
Contributor

@jfpanisset jfpanisset left a comment

Choose a reason for hiding this comment

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

I'm not an experienced GitHub reviewer, is there a top level description of what this PR does? Or perhaps a documentation file explaining how the system works? In particular it would be good to document the need for the SENDGRID_API_KEY

Looking at it seems to do the following

  • automatically create a GitHub Issue 10 days before a meeting for discussion of the agenda based on the template in meeting.md
  • gathers all issue and pr comments tagged "meeting-agenda" and inserts those in the ## Agenda section
  • automatically send agenda via to tac@lists.aswf.io when the label "meeting" is applied to (any issue or PR?)

meeting.md is missing:

Chris Kulla (Open Shading Language Representative)

More generally (not necessarily in this PR) it might be good to have a YAML file with the list of TAC members to avoid duplication, right now the top level README.md also lists TAC members and is also missing Chris.

.github/workflows/tac_agenda.yml

The name: is set to "Schedule monthly TAC meetings", currently these are bi-monthly
Also would suggest naming this "create_tac_agenda_issue.yml" or something like that which lines up with the send_tac_meeting_agenda.yml file and clearly indicates what it does?

Also could be in subsequent PRs, but could be useful to:

  • extend mechanism to other TAC Working Group meetings
  • templatize so that TSCs can use this mechanism for their own meetings
  • automatically create Google Docs version for live note taking
  • automatically import Google Docs after meeting to create the "baked out" Markdown in the meetings folder

This is really cool stuff and demonstrates how using GitHub Actions isn't limited to just CI workflows.

@jmertic
Copy link
Contributor Author

jmertic commented Apr 14, 2020

Thank you @jfpanisset - I added some more details on how it works in the description above.

To your other questions...

  • Good catch on the missing TAC members - and I agree that synced with a YAML file is the way to go. I'm trying to see if there is a GH Action that can do that right now ;-)
  • Like the idea of rolling this out as a template ( probably could drop right in to repo template you made with minor edits ).
  • Google Docs integration is a mess ;-). You might want to look into a collaborative editor like HackMD that natively does markdown and hooks into Github. Happy to help there if I can :-)

Signed-off-by: John Mertic <jmertic@linuxfoundation.org>
@dheckenberg
Copy link
Contributor

Looks nice @jmertic!

Didn't get to this in time for our upcoming meeting but we can present / discuss particularly as far as deploying also for project / working group use.

@jmertic
Copy link
Contributor Author

jmertic commented Apr 22, 2020

Sounds good @dheckenberg! Might even make your Wednesday evening PR scrub much easier ;-)

Happy to showcase during the TAC call. I think other hosted projects wanting to use it would find benefit from it potentially.

@ee33
Copy link

ee33 commented Apr 22, 2020

Idea for a workflow variant: Have a stage where the committee chair can re-order and re-word the agenda items.

@jmertic
Copy link
Contributor Author

jmertic commented Apr 23, 2020

So the chairperson can do this @ee33 - the agenda is created as an issue that can be edited.

I tested this in my fork, which created this issue with the agenda as an example for context...

https://github.com/jmertic/aswf-tac/issues/8

Let me know if that helps clear things up.

@jmertic
Copy link
Contributor Author

jmertic commented May 5, 2020

Example of this in action is with Node.js TSC - nodejs/TSC#860

@ee33
Copy link

ee33 commented May 6, 2020

OK thanks @jmertic

@jfpanisset
Copy link
Contributor

One of the objections brought up was that some projects like to stick to using Issues for actual bug reports, and 'rate of closing Issues' can be interpreted as a project health metric. GitHub just announced a "Discussions" feature, available in beta soon, which is meant for conversations separate from Issues. Assuming an API will be available, perhaps that could be an eventual mechanism for automatic agenda building for projects that don't want to use the Issues mechanism for these types of automation?

https://github.blog/2020-05-06-new-from-satellite-2020-github-codespaces-github-discussions-securing-code-in-private-repositories-and-more/#discussions

@lgritz
Copy link
Contributor

lgritz commented May 10, 2020

That could be interesting, yeah.

@jmertic
Copy link
Contributor Author

jmertic commented May 11, 2020

It's an interesting idea @jfpanisset and @lgritz - from my understanding they use the same API so it might be possible to pull them in via tagging.

I'll state one reason the issues concept works for many TSCs is that the meeting agenda items are predominately code issues or pull requests. I can see that creating a new issue with the meeting agenda might be confusing, I could see a modification to the action of emailing this out to the list or a particular individual instead of creating an issue if that's a better option

Base automatically changed from master to main March 24, 2021 17:28
@jmertic jmertic closed this Apr 11, 2022
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

Successfully merging this pull request may close these issues.

None yet

5 participants