Skip to content

Commit

Permalink
GitHub Project Automation and Infra Updates (#1168)
Browse files Browse the repository at this point in the history
Closes #1093 
Closes #1109 

This PR creates a suite of new GitHub project automations to make our lives easier, and updates the issue templates. For reference on the project automations, please see [CCCL's workflows](https://github.com/NVIDIA/cccl/tree/main/.github/workflows).

## Issue Template Updates
### `bug_report.yml`
- Adds K8s as an option in the installation method dropdown per #1109 
- Adds some default text to the log outputs and `print_env.sh` output to auto-hide/collapse for easier reading

### `feature_request.yml`
- Removes the section on alternative approaches
   - Nobody used this (internal or external) and I don't think it adds value to have all the extra space. If someone wants to discuss alternatives, there's still the "misc" box at the end

## Project Automation Updates
### `label_external_issues`
I've updated the action to label external issues with both https://github.com/nv-morpheus/Morpheus/labels/external and https://github.com/nv-morpheus/Morpheus/labels/Needs%20Triage. Doing so allows us to remove the https://github.com/nv-morpheus/Morpheus/labels/Needs%20Triage label but still track through Slack integrations on the https://github.com/nv-morpheus/Morpheus/labels/external label.

Right now if we want it to continually be integrated in Slack it would need to keep https://github.com/nv-morpheus/Morpheus/labels/Needs%20Triage in perpetuity which is inaccurate and makes the Triage view in the project messy. An issue we've put in the backlog is no longer in need of triage!

### `project_automation_set_in_progress`
This action runs when a PR is opened, converted to a draft, or a review requests changes. It:

- Sets the PR to a draft if changes are requested by the review
- Sets the PR and linked issues to In Progress
   - Except in the case of a PR being opened as not a draft, then we set these to In Review
- Checks if there's a Start Sprint, if not, it sets it to the current Start Sprint
- Sets the Working Sprint to the current Working Sprint

### `project_automation_set_in_review`
This action runs when a PR is marked Ready for Review - promoting from a draft triggers this action. It:
- Sets the PR and linked issues to In Review

### `project_automation_synchronize_issues`
This action runs when a PR is edited, we're interested here because we should be editing in closing keywords for issues if new or old issues are realized to be closed by this PR. It:

- Finds the current Status Start Sprint and End Sprint from the PR
- Sets all linked issues to the same values

### `project_automation_set_roadmap`
This action runs on PR or Issue close. It:
- Sets the Issue/PR roadmap field to the current roadmap
   - Technically, it sets it to the top value in the Roadmap dropdown, so we just need to continue to be diligent in updating that on release

### `project_automation_track_pr_dates`
This action runs on PR open/close/ready for review. It:
- Sets the Start Date/Review Start Date/End Date field for the PR in the project. This way we never need to touch it, but we can get an idea of how long PRs are in the review stage, or how long in general it takes for one to get opened and then moved into a ready for review state. 

When it can, it uses dates in the PR metadata, but a GHA doesn't actually have a date associated with it so we use opened/closed dates. For review, we format the date in a little shell command and store it in an environment variable, in EST.

Authors:
  - Ben Jarmak (https://github.com/jarmak-nv)

Approvers:
  - Michael Demoret (https://github.com/mdemoret-nv)

URL: #1168
  • Loading branch information
jarmak-nv authored Sep 8, 2023
1 parent be608fd commit a19bd6d
Show file tree
Hide file tree
Showing 9 changed files with 1,160 additions and 17 deletions.
17 changes: 14 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ body:
attributes:
label: Version
description: What version of Morpheus are you running?
placeholder: "example: 22.09"
placeholder: "example: 23.11"
validations:
required: true

Expand All @@ -42,6 +42,7 @@ body:
- Docker
- Conda
- Source
- Kubernetes

- type: textarea
id: description
Expand All @@ -64,14 +65,24 @@ body:
attributes:
label: Relevant log output
description: Please paste relevant error and log output here
render: shell
value: |
<details><summary>Click here to see error details</summary><pre>
[Paste the error here, it will be hidden by default]
</pre></details>
- type: textarea
id: env-printout
attributes:
label: Full env printout
description: Please run and paste the output of the `./external/utilities/scripts/print_env.sh` script here, to gather any other relevant environment details
render: shell
value: |
<details><summary>Click here to see environment details</summary><pre>
[Paste the results of print_env.sh here, it will be hidden by default]
</pre></details>
- type: textarea
id: misc
Expand Down
7 changes: 0 additions & 7 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,6 @@ body:
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Describe any alternatives you have considered
description: List any other libraries, or approaches you have looked at or tried.
placeholder: I have looked at library xyz and qrs, but they do not offer GPU accleration

- type: textarea
id: misc
attributes:
Expand Down
13 changes: 7 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
## Description
<!-- Provide a standalone description of changes in this PR. -->
<!-- Reference any issues closed by this PR with "closes #1234". -->
<!-- Note: The pull request title will be included in the CHANGELOG. -->
<!-- Provide a standalone description of changes in this PR. -->
<!-- Reference any issues closed by this PR with "closes #1234". All PRs should have an issue they close-->
Closes

## Checklist
- [ ] I am familiar with the [Contributing Guidelines](https://github.com/nv-morpheus/Morpheus/blob/main/docs/source/developer_guide/contributing.md).
- [ ] New or existing tests cover these changes.
- [ ] The documentation is up to date with these changes.
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/nv-morpheus/Morpheus/blob/main/docs/source/developer_guide/contributing.md).
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.
2 changes: 1 addition & 1 deletion .github/workflows/label-external-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: add-triage-label
run: |
issue_url=${{ github.event.issue.html_url }}
gh issue edit ${issue_url} --add-label "Needs Triage"
gh issue edit ${issue_url} --add-label "Needs Triage,external"
- name: add-comment-to-issue
run: |
Expand Down
Loading

0 comments on commit a19bd6d

Please sign in to comment.