openvinotoolkit / openvino

OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
https://docs.openvino.ai
Apache License 2.0
7.34k stars 2.29k forks source link

[Good First Issue]: Automate the Good First Issues board - "Assigned" column #20210

Open p-wysocki opened 1 year ago

p-wysocki commented 1 year ago

Context

We have recently switched to managing the Good First Issues using GitHub Projects. Another step towards easier management is automating the board, so the tasks move between columns without having to manually drag them.

The board can be found under https://github.com/orgs/openvinotoolkit/projects/3

The board has been partially automated using the default GitHub Workflows:

However, the columns "Assigned" and "In review" cannot be automated using the default GitHub Workflows. This task regards automating the "Assigned" column.

What needs to be done?

Use a GitHub Action to move tasks from column "Contributors needed" to "Assigned", when there is a GitHub user assigned to the issue. This action should work both ways - sometimes the issues are abandoned, in which case we unassign the contributor. In that case the issue should be automatically reverted to the "Contributors needed" column.

Example Pull Requests

Examples can be found under https://docs.github.com/en/actions/managing-issues-and-pull-requests/using-github-actions-for-project-management

Resources

Contact points

@p-wysocki @mlukasze

Ticket

N/A

SANTHOSH-MAMIDISETTI commented 1 year ago

Hello @p-wysocki @mlukasze , I would like to work on this , Can this be assigned to me ?and secondly could you please direct me to where must that be implemented ? , I mean here or somewhere else , in a new file or add to the existing file ? .

Thanks

p-wysocki commented 1 year ago

Hello @SANTHOSH-MAMIDISETTI, thanks for taking a look! I assigned you.

where must that be implemented ?

I think the place you linked is alright, just please make sure the new Workflow appears in the Workflows section in your test repository. You will need to create a Project imitating our Good First Issue board, you can see how it can be done here.

SANTHOSH-MAMIDISETTI commented 1 year ago

@p-wysocki , I am not sure if I actually understood it correct ,

I think the place you linked is alright, just please make sure the new Workflow appears in the Workflows section in your test repository. You will need to create a Project imitating our Good First Issue board, you can see how it can be done here.

does that mean I have to create a new repository with my GitHub account and then ,do the required thing? am I partially right or something else has to be done ?

SANTHOSH-MAMIDISETTI commented 1 year ago

@p-wysocki @mlukasze

p-wysocki commented 1 year ago

Hello @SANTHOSH-MAMIDISETTI, I apologize for the late reply.

does that mean I have to create a new repository with my GitHub account and then ,do the required thing?

That's how I would approach it. I would fork OpenVINO, enable issues and Projects for it, create a simple Project similar to Good First Issue and attempt to automate it using a custom GitHub Workflow. That's however something I have never done before so there may be some roadblocks/things to figure out. We're here to help though. :)

drvcodenta commented 1 year ago

@p-wysocki is this issue still open? I would like to work on this issue and start contributing here

p-wysocki commented 1 year ago

Hi @drvcodenta, I assigned you. Thanks for taking a look!

drvcodenta commented 1 year ago

Thanks, @p-wysocki, I have started reading the study material related to the issue and soon I will give you the updates on this section

drvcodenta commented 1 year ago

@p-wysocki, can you tell me exactly which file in .github/workflows is responsible for the automated columns in the project? I think this would be helpful for solving the problem. Am I correct?

p-wysocki commented 1 year ago

There's no such file - we do currently have some Project automation, but it's all default, built-in GitHub workflows. This task regards:

I hope this clarified the task a bit, please let me know if you have any other questions! :)

drvcodenta commented 1 year ago

@p-wysocki , Regarding the repo-token for the custom workflow file, What should I use? The repository is public, so should I use PAT(Classic) as a token or how should I go about it?

p-wysocki commented 12 months ago

Sorry for the late reply. You can use the GitHub Token from secrets: https://github.com/openvinotoolkit/openvino/blob/master/.github/workflows/assign_issue.yml#L23

drvcodenta commented 11 months ago

@p-wysocki, can you provide me some resources on accessing the linked project using context in the workflow file, I'm stuck on this problem.

drvcodenta commented 11 months ago

Screenshot_20231220_120535_Chrome.jpg

I think this is the problem(in the note section describing that Github_token cannot access projects)

p-wysocki commented 10 months ago

Hello @drvcodenta, I apologize for the late reply, I was on vacation. Could you please let us know what the token was required for? It's cool if you do not want to work on this issue anymore, though we'd love to know what you found out! :)

Also, I am happy to announce that we have created a channel dedicated to Good First Issues support on our Intel DevHub Discord server! Join it to receive support, engage in discussions, ask questions and talk to OpenVINO developers.

hannaofficial commented 10 months ago

.take

github-actions[bot] commented 10 months ago

Thank you for looking into this issue! Please let us know if you have any questions or require any help.

wasifferoze commented 10 months ago

.take

github-actions[bot] commented 10 months ago

Thanks for being interested in this issue. It looks like this ticket is already assigned to a contributor. Please communicate with the assigned contributor to confirm the status of the issue.

p-wysocki commented 10 months ago

Hello @wasifferoze, we're following the policy of whoever picks the issue first, is the issue owner. The task remains in the hands of @hannaofficial, if you wish to collaborate on this you should ask them.

drvcodenta commented 10 months ago

@p-wysocki, sure I can tell you all the things that I found out on the issue! I also apologize for the late reply, my Exams were scheduled in between. So, Do I need to tell about my findings on Discord or here only?

p-wysocki commented 10 months ago

No need to apologize, I hope your exams went well. It would be perfect if you could post your findings here, for anyone who picks up the issue next. :) Thanks!

avirup171 commented 10 months ago

.take

github-actions[bot] commented 10 months ago

Thanks for being interested in this issue. It looks like this ticket is already assigned to a contributor. Please communicate with the assigned contributor to confirm the status of the issue.

drvcodenta commented 10 months ago

Sure, the token was required for accessing the linked projects to the current repository or organization.

I copied the Good First Issue project from this Repository into my private repository and linked it, and then below are the Listed approaches I tried:

  1. First I tried to use the method that is listed in the GitHub Actions of GitHub Docs, which uses alex-page/github-project-automation-plus action, and here is the source code- method 1 with key

This method didn't work quite well and was having errors in finding the linked project to the repository, Screenshot 2023-12-01 033219

In this method, I tried out these things:

  1. Created a separate columns project, that was linked to the repository
  2. Changed the name of the project and columns
  3. Switched the visibility of the project
  4. Changed the secret key multiple times
  5. Worked with different scopes of the key itself, so that it can access the project!

In all these scenarios, the error remained the same

  1. Then I tried to create a whole separate workflow that would check if the issue is assigned, to whom it is assigned, fetch the project, data of the project, and perform the required action on the trigger Here is the source code- method 2

When the issue is assigned, or unassigned, it fires a trigger and the workflow was successful in finding the assigned user Screenshot 2024-01-10 160708 it was also fetching no project information: Screenshot 2024-01-10 160936

The Project ID is null, so it couldn't proceed further to move the assigned card although it returns a syntactical error but that is also not the case! I tried several permutations including the ones listed above, but it was stuck on the same error on returning a null value in the project ID: Screenshot 2024-01-10 162726

p-wysocki commented 10 months ago

Thank you for all the hard work @drvcodenta, I think we need to review what's going on here exactly. Maybe there's something we need to configure on our side to make it work. Project ID returning null is very weird. I can't even find anything similar on the internet.