sig-release icon indicating copy to clipboard operation
sig-release copied to clipboard

add hack/sync-enhancements-github-project-beta.sh

Open Priyankasaggu11929 opened this issue 3 years ago • 4 comments

What type of PR is this:

/kind feature

What this PR does / why we need it:

The PR adds a script called hack/sync-enhancements-github-project-beta.sh.

This script will be run as part of a periodic Prow Job that will sync all open KEP issues from the k/enhancements repository under a current release milestone (say v1.25) to an Enhancements GitHub Project Beta board (similar to https://github.com/orgs/kubernetes/projects/87).

Limitations/assumptions:

As of the time of writing, there is no GitHub project beta api endpoint available for ~creating a project~[1] (and its columns and views) using github cli (gh). Only existing project field mutations are possible. Hence the following assumptions are made:

  • The script expects that a GitHub Project Beta board has previously been created with at least the column fields (Issue Number & KEP) existing under the kubernetes organisation.
  • The script expects receiving the above project number from the environment variable GITHUB_PROJECT_BETA NUMBER.

Update (July 22, 2022 [1] api for creating v2 project: mutations#createprojectv2

Which issue(s) this PR fixes:

Part of https://github.com/kubernetes/community/issues/6735


cc: @helayoty, @kubernetes/release-team-leads, @reylejano

Priyankasaggu11929 avatar Jul 14 '22 12:07 Priyankasaggu11929

FYI: The GitHub Project Beta board does not currently allow cloning/duplicating an existing project, which might be a blocker cc: @mrbobbytables

The plan is, with each new release cycle, the lead simply clone/duplicate the previous release cycle's project board and update the periodic Prow Job with the cloned new Project number and the then current "release milestone".

Without the option to clone/duplicate a project, each release cycle requires manually creating the project and adding all columns (respective data validations) and different views, which takes quite a lot of time.


Open to discussion, if we can come up some better approach. Thank you!

Priyankasaggu11929 avatar Jul 14 '22 13:07 Priyankasaggu11929

FYI: The GitHub Project Beta board does not currently allow cloning/duplicating an existing project, which might be a blocker

IMO - I don't think its a blocker, its a bit of administrative overhead, yes but not massive. We may wind up iterating on how the boards are used as more functionality is added as well.

mrbobbytables avatar Jul 14 '22 14:07 mrbobbytables

Also a side note while testing, I was prompted to login via gh auth login or adding Github token. The first option doesn't work because I can't authorize for project using it so you gotta add the environment variable.

gracenng avatar Jul 26 '22 02:07 gracenng

@gracenng @marosset I have reworked the script to filter k/enhancements issue by the label "lead-opted-in".

(Have tested it here https://github.com/orgs/kubernetes/projects/87/views/1)

PTAL. Thank you!


Once this script is merged, will do a quick revamp of the https://github.com/kubernetes/test-infra/pull/26812 to have the periodic script run in place.

Priyankasaggu11929 avatar Sep 09 '22 13:09 Priyankasaggu11929

@mrbobbytables appreciate if we can merge the PR to help the release team automate the Enhancement GH project :)

helayoty avatar Sep 09 '22 18:09 helayoty

Thanks for updating @Priyankasaggu11929.

/lgtm

rhockenbury avatar Sep 09 '22 18:09 rhockenbury

/approve

leonardpahlke avatar Sep 09 '22 18:09 leonardpahlke

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: leonardpahlke, Priyankasaggu11929

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

k8s-ci-robot avatar Sep 09 '22 18:09 k8s-ci-robot