-
-
Notifications
You must be signed in to change notification settings - Fork 109
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
complete automation related to having MAINTAINERS.yaml
always up to date with current state
#1269
Comments
@ibishal do you have any previous experience with GitHub Actions? working with GitHub API? parsing and working with CODEOWNERS? |
Hi all! This issue caught my attention as I enjoy working with GitHub Actions and GitHub CODEOWNERS. I would be happy to take this on and get it done. I briefly reviewed the PR, and overall, it looks good (I haven't tested it yet though). A few small code enhancements can be made, like don't iterate over duplicates, unify msgs, etc. I also noticed that the
While The topic of initial update will also be an easy addition. FYI:
Cheers! |
Bounty Issue's service commentText labels: @asyncapi/bounty_team The Bounty Program is not a Mentorship Program. The accepted level of Bounty Program Participants is Middle/Senior.Third-party contributors should coherently articulate how they are going to approach the resolution process when expressing a desire to work on this Bounty Issue. |
I'm assigning @mszostok to this issue. For full transparency: I contacted Mateusz on my own in private to get him involved in this issue because he is one of the most senior engingeers I know from my previous company (4y ago) where we worked together. He is also active FOSS contributor - but most important is that he has extensive experience with parsing CODEOWNERS file, and thanks to his experience also with GH Action I'm finally confided to have a person working on issue without basic mentoring. |
I noticed I forgot that I was suppose to wait 3 days before I publish a decision who will work on issues. I don't have a better excuse other than "Monday". My apologies. |
Bounty Issue's Timeline
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.Keep in mind the responsibility for violations of the Timeline. |
Sharing the progress from last week. I spoke with @derberg to establish the overall scope of the task. In general: Goals
Non-goals
Notes
Links |
Initially update of MAINTAINERS.yamlI finished the early POC last week for generating Outcome
Honestly, at this stage, I don't know if incremental changes (calculating Human readable report of
|
I'm not much worried about the time it takes to perform the calculation. I would be worried about the rate limit costs. If the cost is that small, then lgtm. Just take of the list |
@mszostok yo, how are the things? you need help? or just holidays? |
Hi! Sorry for the delay in providing the PR, I was absent at the beginning of the month. I'm almost done with the e2e test, and I will submit the PR this week 👍 |
Hi! Small update 🙂 I've created 4 PRs. Two of them need to be merged first:
The others are about real change:
I will convert the last two items for Cheers! |
Hi! Both PRs are ready for review:
The demo recordings can be found here:
DocumentationDocumentation can be found in the Action README.md Click to see the flow diagram
sequenceDiagram
Refresher->>Refresher: Load API calls cache
note over Refresher, GitHub: Uses GraphQL
Refresher->>+GitHub: Get all AsyncAPI repositories
GitHub-->>-Refresher: Repository list
Refresher->>Refresher: "Remove ignored repositories"
rect rgb(191, 223, 255)
note over Refresher, GitHub: Uses REST API
loop For each repository
Refresher->>+GitHub: Get CODEOWNERS file
note over Refresher: Detect the default branch
note over Refresher: Check for file in all valid locations
GitHub-->>-Refresher: CODEOWNERS content
end
end
rect rgb(191, 223, 255)
note over Refresher, GitHub: Uses REST API
Refresher->>Refresher: "Remove ignored users"
loop For each unique codeowner
Refresher->>+GitHub: Get codeowner GitHub profile
GitHub-->>-Refresher: GitHub profile
end
end
loop For previous maintainer
alt is invalid
Refresher->>Refresher: Delete if either GitHub profile was removed <br> or they doesn't own any repository currently.
else is valid
Refresher->>Refresher: Refresh only the 'repos' property.
end
end
Refresher->>Refresher: Append any new maintainers not present in the previous list.
Refresher->>Refresher: Prints details on why a maintainer was removed or changed directly
Refresher->>Refresher: Save API calls cache
Follow-ups
|
@mszostok that is a quality work ❤️ I left you few comments/suggestions |
@mszostok, please provide an update to one of PRs. |
Hi @aeworxet, I posted an update 10 days ago here: #1315 (comment). There have been no new developments since then 👍 |
Can this code be merged then or is there anything else that needs to be done on it? |
@aeworxet I have addressed all the comments, so it's ready to be merged from my side. 👍 FYI: there is also a related topic about issues I found in the current CODEOWNERS files: #1322 I believe it would be valuable to address these issues as well, even if it requires a series of manual PRs. Of course, once merged, the automation will update the MAINTAINERS.yaml file to reflect all the fixes. Therefore, I don't think that fixing the CODEOWNERS files should be a blocker for merging the automation. |
pro work!!! manual trigger worked: #1351 also website version updated already: asyncapi/website#3153 we now just have to remove old https://github.com/asyncapi/community/blob/master/TSC_MEMBERS.json and update docs about it, but that was not in scope @aeworxet from my point of view the job is completed |
I can handle those follow-ups too 🙂 Follow-ups
|
in case of docs: |
Bounty Issue Is Completed 🎉@mszostok, please go to the AsyncAPI page on Open Collective and submit an invoice for |
File https://github.com/asyncapi/community/blob/master/MAINTAINERS.yaml updates are manual now
We need someone to:
MAINTAINERS.yaml
by:It is rather complex as scope is not well defined - might be that there will be one workflow more that needs review or update
The text was updated successfully, but these errors were encountered: