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

Add issue and PR templates #2097

Merged
merged 1 commit into from
Nov 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .github/ISSUE_TEMPLATES/BASIC_ISSUE_FORM.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Internal - Basic Issue
description: Create an internal HotShot issue
title: "[<MACRO_TASK_SHORT_NAME>] - Short Task Description "
labels: ["sprint6"]
projects: ["EspressoSystems/20", "EspressoSystems/32"]
body:
- type: markdown
attributes:
value: |
*If you are an external collaborator use our external issue form instead.*
- type: textarea
id: task_reason
attributes:
label: What is this task and why do we need to work on it?
placeholder: |
For MACRO tasks: The description should be written for someone unfamiliar with HotShot.
For regular tasks: The description should be written for someone familiar with HotShot but not with this particular issue.
validations:
required: true
- type: textarea
id: task_description
attributes:
label: What work will need to be done to complete this task?
description:
placeholder: |
If this is unknown, describe what information is needed to determine this.

If this is a MACRO task link the sub-issues here.
If this is a regular task use check boxes to list the sub-tasks here.

E.g.
- [ ] Task 1
- [ ] Task 2
validations:
required: false
- type: textarea
id: other_details
attributes:
label: Are there any other details to include?
placeholder: |
Include other details here such as: design tradeoffs, open questions, links to discussions about this issue, dependencies of this task, etc.
validations:
required: false

- type: textarea
id: acceptance_criteria
attributes:
label: What are the acceptance criteria to close this issue?
placeholder: |
Include a list of acceptance criteria such as: required reviewers, new tests that must be added, documentation that must be added, etc.
validations:
required: true

- type: markdown
attributes:
value: |
### Complete the following items before submitting this issue:
* Label this issue appropriately. All issues must have a `sprint` label unless they are labeled `external`, `low-priority`, or `tech-debt`. This form will automatically label issues with our current `sprint` label.
* Ensure this issue is added to the appropriate projects. This form should add them to the "HotShot" and "Espresso Sequencer" projects by default.
* Ensure this issue is titled correctly.
* For MACRO tasks, title the issue [MACRO] - <MACRO_SHORT_NAME> - Macro Task Short Description
* E.g. [MACRO] - VIEW_SYNC - Add NK20 View Sync algorithm
* For non-MACRO tasks, title the issue [<MACRO_SHORT_NAME>] - Task Short Description
* E.g. [VIEW_SYNC] - Create new vote types for `PreCommit`, `Commit`, and `Finalize` view sync votes
* Ensure MACRO tasks have all their sub-issues linked
* Ensure non-MACRO tasks have their associated MACRO task linked
* Assign this issue to the appropriate person, if applicable

### Other considerations:
* All non-macro tasks must link to a MACRO task unless the task falls into one of the following categories. Use these categories in lieu of a MACRO_TASK_SHORT_NAME.
* TECH_DEBT - Label for tech debt
* CI - Label for CI-related issues
* REPO - Label for repository organization issues (such as updating these template files)
* DOCS - Label for issues related to documentation
* If a non-MACRO task has linked sub-issues, consider converting it into a MACRO task. Non-macro tasks should be small enough in scope that they do not contain sub-issues. They may contain sub-tasks, however.


41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATES/EXTERNAL_ISSUE.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: External - Basic Issue
description: Create an external HotShot issue
title: "[EXTERNAL] - <Short Task Description> "
labels: ["external"]
assignees: ["elliedavidson"]
body:
- type: markdown
attributes:
value: |
*If you are an internal collaborator, use our internal issue form instead*
- type: textarea
id: task_reason
attributes:
label: What is this task and why do we need to work on it?
placeholder: |
If this is a feature request, describe what the feature is and why it is important to add to HotShot.
If this is a bug report, describe the bug and its severity level.
validations:
required: true
- type: textarea
id: other_details
attributes:
label: Are there any other details to include?
placeholder: |
Include other details here such as: open questions, directions to reproduce a bug, relevant error logs, etc.

E.g. To reproduce this bug run `just async_std test_basic`. You should see logs similar to the below:
`ERROR: This is an important error!`
validations:
required: false

- type: markdown
attributes:
value: |
### Complete the following items before submitting this issue:
* Label this issue appropriately. This form will automatically label issues with the `external` label. If you are submitting a bug report, please also add the `bug` label.
* Ensure this issue is titled correctly. The title should be in the form of [EXTERNAL] - Short task description.

Thank you for submitting an issue to HotShot!


24 changes: 24 additions & 0 deletions pull_request_template.md
Copy link
Contributor

Choose a reason for hiding this comment

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

Love this!

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Closes issue: <ISSUE>

### This PR:
<!-- Describe what this PR adds to HotSHot -->
<!-- E.g. -->
<!-- * Implements feature 1 -->
<!-- * Implements feature 2 -->
<!-- * Fixes bug 3 -->

### This PR does not:
<!-- Describe what is out of scope for this PR, if applicable -->
<!-- * Implement feature 3 because that feature is blocked by Issue 4 -->

### Key places to review:
<!-- Describe key places for reviewers to pay close attention to -->
<!-- * file.rs, `add_integers` function -->

### How to test this PR:
<!-- * E.g. `just async_std test` -->
Copy link
Member

Choose a reason for hiding this comment

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

Are we expecting the reviewer to run the tests? I think we could skip this "How to test" section if no manual testing is needed and we could just use the CI results.

Copy link
Member Author

Choose a reason for hiding this comment

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

That's fair! Perhaps I'll leave it as an optional field.


<!-- Complete the following items before creating this PR
* Are the proper people tagged to review it?
* Have you listed yourself as the assignee?
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 wondering if this is necessary since the PR author is usually the same as the assignee. I think the author is also a filter attribute if we want to search for and filter PRs on GitHub.

Copy link
Member Author

Choose a reason for hiding this comment

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

This was something @dailinsubjam brought up. I am fine either way. :)

Copy link
Contributor

Choose a reason for hiding this comment

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

I think this could help but not necessary, assignee's avatar will appear right after PR on the searching board which might be easier to find, but looks like we can also filter PR by selecting the author.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah I thought it made sense when it was brought up in the meeting yesterday! But on second thought, it's probably not necessary?

Copy link
Member Author

Choose a reason for hiding this comment

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

Okay, I'll remove it!

Copy link
Member Author

Choose a reason for hiding this comment

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

@dailinsubjam and @shenkeyao here is the new PR: #2103

Copy link
Member

Choose a reason for hiding this comment

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

Approved there. Thanks Ellie!

* Have you linked an issue to this PR? -->
Loading