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

[Project Automation] Create High level tracker workflow + readme + helper script #288

Open
wants to merge 5 commits into
base: branch-25.04
Choose a base branch
from

Conversation

jarmak-nv
Copy link
Contributor

This pull request introduces a new GitHub Actions workflow for high-level project tracking and provides supporting documentation and scripts. The main changes include the addition of the workflow configuration, a detailed README explaining the workflow, and a helper script to obtain necessary project and field IDs.

New GitHub Actions Workflow:

  • .github/workflows/project-high-level-tracker.yaml: Adds a comprehensive workflow to automate the management of GitHub Projects, including steps to process branch names, determine development stages, and update project fields based on release schedules.

Documentation:

  • docs/project-automation-readme.md: Provides an overview of the new workflow, its architecture, and configuration details. It includes a mermaid diagram to illustrate the workflow and instructions on how to obtain necessary project and field IDs.

Helper Script:

  • docs/project-graphql-helper.py: Adds a script to fetch project and field IDs from the GitHub GraphQL API, which are required for configuring the workflow.

@jarmak-nv jarmak-nv requested a review from a team as a code owner February 28, 2025 21:24
@jarmak-nv jarmak-nv requested a review from gforsyth February 28, 2025 21:24
@jarmak-nv jarmak-nv added non-breaking Introduces a non-breaking change doc Improvements or additions to documentation feature request New feature or request and removed doc Improvements or additions to documentation labels Feb 28, 2025
@jameslamb jameslamb self-requested a review February 28, 2025 21:56
Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

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

I took a first pass at this, will do a more thorough review next week. Just publishing a non-blocking review now so you can see my first few comments.

inputs:
PROJECT_ID:
description: "Project ID"
default: "PVT_kwDOAp2shc4ArK9w"
Copy link
Member

Choose a reason for hiding this comment

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

General comment for all of these default: values with what look like identifiers from a service.... what are they? Where did the values come from? Are they intended to be overridden?

If every user of this is expected to provide these values at the site where this is called, then I think that:

If these values are intended to be used literally and never overridden, then I think that:

If these values could be used literally but might be overridden, then I think that:

  • the inputs should all have required: true
  • docs should be added here explaining how to set values for them
  • code comments should be added explaining where these defaults came from


# ------------- Option IDs -------------
# Stage options
STAGE_PLANNED_ID:
Copy link
Member

Choose a reason for hiding this comment

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

I'm a little confused by the naming with *_ID for these things... they look like names or labels. I think changing the input names to something like *_NAME would make it clearer that these are free-text display names that don't have uniqueness constraints.

Am I right about that? If so, would you consider that naming change?

Comment on lines +15 to +16
- Linking PRs to issues and keeping them in sync requires complex operations
- Work often begins in an Issue, but then is completed in the PR, requiring this synchronization
Copy link
Member

Choose a reason for hiding this comment

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

I don't understand these workflows and the GraphQL code very well, so apologies if this is an ignorant question... does any of this automation assume that 1 issue will be resolved by exactly 1 PR?

The language here (talking about "the" PR) makes me think that it might.

I think that's an assumption that's likely to be violated often, especially for large efforts like rapidsai/cuvs#735

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants