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 templates #590

Merged
merged 2 commits into from
Jun 19, 2022
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
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: 🐛 Bug report
description: Create a report to help us reproduce and fix a bug
labels: [bug]

body:
- type: textarea
attributes:
label: Description
description: >
Please provide a clear and concise description of the bug.
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

A lot of other repos have sections for "expected result" and "actual result" but I always find myself writing something like "I would expect this to work" and "it doesn't work" so I've never found those sections super useful. Hopefully users will clarify when things don't work as they would expect.

Copy link
Member

Choose a reason for hiding this comment

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

description: >
We can't solve your issue if we can't reproduce it. Please provide a
[minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example)
that shows how to reproduce the bug. If the bug requires any additional files to
reproduce, please upload those or provide a download link. Your code should be
runnable and include all relevant imports.
placeholder: |
1. Download any Landsat 8 scene from https://earthexplorer.usgs.gov/
2. Run the following code to reproduce the error

```python
from torchgeo.datasets import Landsat8

ds = Landsat8("/path/to/downloads/directory")
...
```
validations:
required: true
Copy link
Member

Choose a reason for hiding this comment

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

My only concern is making the reproducible example required. I don't want someone to not report something just because they have to provide a reproducible example. Maybe we can explain that bugs are much easier to fix if there is reproducible code and we don't have a lot of free time to make our own examples?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think having a reproducible example is a low bar. At the bare minimum, just upload the code you ran and the files you ran it on to produce the error message. Having a minimal reproducible example is a bigger hurdle, but users rarely consider that to be a requirement unfortunately. If someone reported an issue with just an error message and didn't tell me how they got that error message, I would probably just close the issue. I would go so far as to say having a reproducible example is the only thing that is absolutely required to report an issue.

Copy link
Member

Choose a reason for hiding this comment

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

That's totally fine -- just a minor concern! The more I think about it the more I agree, we really don't have a ton of time to dig into things (esp. if they are obscure).

- type: input
attributes:
label: Version
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Instead of just the TorchGeo version, we could expand this to the full development environment, including:

  • OS: e.g., macOS 12.4
  • Python: e.g., 3.9.12
  • TorchGeo: e.g., 1.2.3.dev0 (e1285e6)
  • Installation method: e.g., pip, conda, spack, git, etc.
  • Dependency versions: e.g., pip list, conda list, spack find, etc.

I'm not sure how useful the rest of these are since TorchGeo is pure-Python and pretty heavily tested...

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 think torchgeo version is fine for now (i.e. until we see something crazy that is not caught by tests or explained by dependency/Python version)

description: |
What version of TorchGeo are you using? This can be found using the following code.
```console
$ python
>>> import torchgeo
>>> torchgeo.__version__
X.Y.Z
```
If you are using a development release (ends with ".dev0") please also include the specific git commit.

Whenever possible, try to reproduce your issue with the latest commit from `main`. You never know, someone may have already fixed your bug!
placeholder: |
1.2.3.dev0 (e1285e6cc6b65080e82bdbf7de9dea3f647d8b3b)
validations:
required: true
- type: markdown
attributes:
value: >
Thanks for taking the time to report this bug! TorchGeo is an open-source project
maintained by its users. If you're Python savvy and want to contribute a pull
request to fix this bug, we'll be happy to review it. If not, we'll try to fix it
as long as we can reproduce it.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Wanted to clarify that TorchGeo isn't a commercial product with a team of developers just waiting to fix your bugs lol

5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: ❓ Questions
url: https://github.com/microsoft/torchgeo/discussions
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Could replace this with a Slack invite link if we ever decide to go down that route

about: Ask questions or discuss ideas with other TorchGeo users
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: 📚 Documentation
description: Issues or suggestions related to documentation
labels: [documentation]

body:
- type: textarea
attributes:
label: Issue
description: >
A clear and concise description of what is wrong with or missing from the
documentation.
validations:
required: true
- type: textarea
attributes:
label: Fix
description: >
Tell us how we could improve the documentation!
- type: markdown
attributes:
value: >
Thanks for taking the time to improve the documentation! TorchGeo is an
open-source project maintained by its users. If you're rST savvy and want
to contribute a pull request to improve the docs, we'll be happy to review
it. If not, we'll try to fix it when a get a chance.
47 changes: 47 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: 🚀 Feature request
description: Submit a proposal/request for a new TorchGeo feature
labels: [feature]

body:
- type: markdown
attributes:
value: >
TorchGeo is a PyTorch domain library for _geospatial_ data. If the feature you
are suggesting is not specific to working with geospatial data or multispectral
satellite imagery and may be of interest to the broader computer vision
community, consider contributing it to
[torchvision](https://github.com/pytorch/vision) or
[kornia](https://github.com/kornia/kornia) instead.
- type: textarea
attributes:
label: Summary
description: >
A clear and concise summary of your suggestion.
- type: textarea
attributes:
label: Rationale
description: >
Why is this feature important? Is it related to a problem you are experiencing?
- type: textarea
attributes:
label: Implementation
description: >
If you've thought about how to implement this feature, describe your proposed
solution.
- type: textarea
attributes:
label: Alternatives
description: >
Are there any alternatives to the solution you've proposed?
- type: textarea
attributes:
label: Additional information
description: >
Any additional information that might be relevant to the proposed feature.
- type: markdown
attributes:
value: >
Thanks for suggesting this awesome new feature! TorchGeo is an open-source project
maintained by its users. If you're Python savvy and want to contribute a pull
adamjstewart marked this conversation as resolved.
Show resolved Hide resolved
request to implement this feature, we'll be happy to review it. If not, we'll try
to implement your feature when we get a chance.
2 changes: 1 addition & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ documentation:
- docs/**
testing:
- tests/**
- .github/**
- .github/workflows/**