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

we should have a GH workflow that posts a welcome message to the PR that is merged that contained new TSC member #178

Closed
derberg opened this issue Nov 23, 2021 · 12 comments
Labels
enhancement New feature or request good first issue Good for newcomers stale

Comments

@derberg
Copy link
Member

derberg commented Nov 23, 2021

as in title, we just need to agree on the message

Why we need that?

we are nice and like to have fun, lets do it

cc: @alequetzalli

@derberg derberg added enhancement New feature or request good first issue Good for newcomers labels Nov 23, 2021
@derberg
Copy link
Member Author

derberg commented Nov 24, 2021

GitHub workflow should react on pull request closed event and validate that it was really merged github.event.pull_request.merged == true. Then we need to put a comment using action uses: actions-ecosystem/action-create-comment@v1 with Welcome message

@derberg
Copy link
Member Author

derberg commented Feb 3, 2022

What we need exactly in case of new TSC member:

What we need exactly in case TSC member leaves the group:

  • a welcome message directed to new TSC member (in future it can contain links to TSC guides)
  • send a thank you tweet
  • make API call to remove TSC member from asyncapi org

I would not rely on labels but I think we need to actually automatically detect if pushed changes were related to TSC members list, and evaluate if this was addition or deletion and who was added/deleted, and if there were more than 1 folks added or deleted, we do as many tweets as needed. What do you think?

@aayushmau5
Copy link
Member

Super cool issue. Would love to work on it 😃

@aayushmau5
Copy link
Member

Alright! Looking over the issue statement, my initial thoughts are:

First, we need a way to detect if any members are added or removed?(If so, how many?). I'm guessing we require some kind of diffing algorithm for this, since the TSC list is just a JSON file. What do you think?

Second, make API call to add new TSC member to @asyncapi/tsc_members team, does this mean we need to make a Github API call that will invite(or remove) new(or old in case of removal) members to AsyncAPI org(as @asyncapi/tsc_members team)?

@aayushmau5
Copy link
Member

Been trying some stuff out, the biggest problem is finding whether the changes have been made or not to the desired file. As I said earlier, my initial thought was to find diff between the new version of file and the previous version. Not sure how to do this in an action though. I have been experimenting with finding diff with some command line tools or running JS script to find the diff.

@aayushmau5
Copy link
Member

@derberg need some info on how to go about getting the changes?

@darp99
Copy link

darp99 commented Apr 26, 2022

I am interested to do this. can i get your help @derberg sir for move ahead.

@derberg
Copy link
Member Author

derberg commented Apr 26, 2022

@aayushmau5 sorry, I just noticed your comments... 🤦🏼 sorry for the delay.

First, we need a way to detect if any members are added or removed?(If so, how many?). I'm guessing we require some kind of diffing algorithm for this, since the TSC list is just a JSON file. What do you think?

yeah, we definitely need some function that will compare original list with incoming list and determine if it is "addition" or "removal" or just a "simple modification".

Second, make API call to add new TSC member to @asyncapi/tsc_members team, does this mean we need to make a Github API call that will invite(or remove) new(or old in case of removal) members to AsyncAPI org(as @asyncapi/tsc_members team)?

yes, API call that invites to @asyncapi/tsc_members and org, and API call that removed from @asyncapi/tsc_members but not from the org (we should leave it up to people if they want to leave the org or not, emeritus should still be able to show org membership)

and for twitter, just use https://github.com/asyncapi/.github/blob/master/.github/workflows/release-announcements.yml#L30

Been trying some stuff out, the biggest problem is finding whether the changes have been made or not to the desired file. As I said earlier, my initial thought was to find diff between the new version of file and the previous version. Not sure how to do this in an action though. I have been experimenting with finding diff with some command line tools or running JS script to find the diff.

workflow can be configured in the way that it reacts only to changes to TSC_MEMBERS.json (example - yes, works with push event too) so you do not have to detect if changes were done in a file or not, as workflow will run only if there were changes.

you need a script that fetch TSC_MEMBERS.json file from the website repo (as we can assume it is the latest that we show to the community on the website, or just grab the file from community repo from previous commit) and you get a list of all current members. Then you analyze, if some names are new and if some names were removed. Makes sense?


@darp99 sorry but as you can see @aayushmau5 already started working on it. So up to Aayush to say if he wants to continue. I would not be surprised if he resigns because of my ignorance and delay in response 😞 sorry again

@aayushmau5
Copy link
Member

No worries @derberg ❤️
Life happened(college and stuff), and I'm not able to work on this issue. So @darp99 Feel free to take up this issue :)

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added stale and removed stale labels Aug 25, 2022
@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@derberg
Copy link
Member Author

derberg commented Apr 3, 2023

basic stuff completed with #636

rest will be handled in asyncapi/.github#210

Thanks @14Richa

@derberg derberg closed this as completed Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers stale
Projects
None yet
Development

No branches or pull requests

3 participants