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 CONTRIBUTING.md and issue templates #1863

Merged

Conversation

emilyanndavis
Copy link
Member

Description

Resolves #1045.

Adds the following:

  • contributing guidelines (CONTRIBUTING.md), which, once merged, will be rendered on the InVEST repo landing page (in the tabbed interface that currently houses the rendered README and the license).
  • an issue template for bug reports.
  • an issue template for feature requests.
  • a config file that defines additional list items that will (or will not) be included in the issue template chooser. (For an example of what the issue template chooser looks like, go to the GDAL issues page and select the "New issue" button).

Checklist

- [ ] Updated HISTORY.rst and link to any relevant issue (if these changes are user-facing)
- [ ] Updated the user's guide (if needed)
- [ ] Tested the Workbench UI (if relevant)

@dcdenu4 dcdenu4 self-requested a review April 2, 2025 19:19
@claire-simpson claire-simpson self-requested a review April 3, 2025 20:30
Copy link
Contributor

@claire-simpson claire-simpson left a comment

Choose a reason for hiding this comment

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

This looks great @emilyanndavis! I just noted a few small things we might consider adding.

name: Bug report
about: Did you find a problem in InVEST? Let us know!
title: ''
labels: ''
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it worth adding a default bug tag here?

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 crossed my mind, but it seemed like the consensus was to avoid adding labels on external bug reports until we've had a chance to review them. It could be useful to auto-label issues we create internally, but we had started moving toward using issue types instead of labels, so auto-labeling could lead to inconsistencies. (It doesn't seem to be possible to auto-assign an issue type from an issue template—or if there is, it's not documented.) I also thought we could add some new label, along the lines of needs-triage or pending, but without an existing process for handling such items, it seemed superfluous.

I'm inclined to try out the new templates without auto-attached labels, then configure appropriate labels if/when the need emerges. But I could be convinced if you feel strongly about it!

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, that makes sense. I would probably also support adding some new label type for these issue templates, but happy to wait until we start seeing external contributions to discuss whether this is needed.

Copy link
Member

Choose a reason for hiding this comment

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

I agree with adding some auto label that informs us it needs review from the maintainers. I also agree we can wait on this to see how it goes initially.

name: Feature request
about: Have an idea for a new InVEST feature? Let us know!
title: ''
labels: ''
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we automatically add an enhancement tag here?

- `docs/34567-update-readme`.

### Working on Code Changes
1. Make sure you have followed the instructions in [Forking the Repository and Creating a Branch](#forking-the-repository-and-creating-a-branch).
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we explicitly direct users to set up a development environment, e.g., with an editable invest installation? And/or point them to the invest readme for help with this?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good idea. I'll add a link to the readme.

emilyanndavis and others added 3 commits April 4, 2025 10:27
Co-authored-by: Claire Simpson <112011324+claire-simpson@users.noreply.github.com>
…lyanndavis/invest into feature/1045-contributing-guidelines
name: Bug report
about: Did you find a problem in InVEST? Let us know!
title: ''
labels: ''
Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, that makes sense. I would probably also support adding some new label type for these issue templates, but happy to wait until we start seeing external contributions to discuss whether this is needed.

Copy link
Member

@dcdenu4 dcdenu4 left a comment

Choose a reason for hiding this comment

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

This is great @emilyanndavis ! Just had a few comments and suggestions!


## To replicate
Provide detailed steps to replicate the behavior.
1.
Copy link
Member

Choose a reason for hiding this comment

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

When I view this in rich diff, it shows 1. being on the previous line. Do we need a newline before the start of the list?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, good catch!

Describe what actually happened.

## Logfile(s)
If the problem occurred when running an InVEST model, please upload the logfile. (You can find this file in your workspace directory.)
Copy link
Member

Choose a reason for hiding this comment

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

Do we need the second sentence in parens?

## Logfile(s)
If the problem occurred when running an InVEST model, please upload the logfile. (You can find this file in your workspace directory.)

If you ran the model from the Workbench, please also upload the Workbench logfile. (To find this file, navigate to the Workbench's `About` menu, select `Report a problem`, then select `Find my logs`).
Copy link
Member

Choose a reason for hiding this comment

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

Similar, is putting the finding logfile details in parens necessary? To be fair, I'm no grammar wiz!

Copy link
Member Author

Choose a reason for hiding this comment

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

I guess my thinking was, information about how to find a logfile is "extra" information that some people won't need, and parentheses are a simple visual cue to denote optional details. If someone already knows where to find their logfiles, they can skim the first few words in those parentheses ("You can find this file" or "To find this file") and feel confident they can skip everything else in that same set of parentheses.


## Reporting Bugs
Did you find a bug in the InVEST software?
1. Search the [InVEST Open Issues on GitHub](https://github.com/natcap/invest/issues) to see if it has already been reported.
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 we should also point people to do the Forums to search, to see if it's been discussed and any work arounds have been mentioned. Thoughts?

Copy link
Member Author

Choose a reason for hiding this comment

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

We discussed this a lot while you were out, so yes—I do indeed have thoughts!

Initially, this section guided people to check both the forum and the GitHub issues, but then it got complicated. When it came to directing a user to post a topic to the forum or open a GitHub issue, we found it was difficult to define where the dividing line should be (between forum post and GitHub issue).

We didn't want to confuse people or discourage them from providing feedback out of fear of "doing it wrong", so we tried to simplify things as much as possible. That's how we ended up with an "Asking questions" section separate from the "Reporting bugs" section. Hopefully this will be enough to let people know what venues are available, and what they're meant for, while allowing them to use their own best judgment (and/or personal preference) in deciding which platform to gravitate towards.

I'm inclined to leave it as-is for now. We can always make changes later, if we find that the existing guidance isn't quite working the way we want it to!

CONTRIBUTING.md Outdated
1. Search the [InVEST Open Issues on GitHub](https://github.com/natcap/invest/issues) to see if it has already been suggested.
2. If you don’t find an existing issue, create a new issue. Select “Feature request”, and provide as much detail as you can.

Every proposed feature, large or small, will be weighed in terms of its potential impact on InVEST users and the capacity of the NatCap team to implement and maintain the feature. Please note that major features, including new InVEST models, must go through a peer-review process with our Platform Steering Committee.
Copy link
Member

Choose a reason for hiding this comment

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

We might want to mention that science related enhancements and issues, such as changes to model equations or how a model functions, will need to go through NatCap science review. We don't necessarily have the governance for this in place yet.

Maybe adding something like:

For science related changes such as the modification of equations and how a model functions, a NatCap science review will be needed to maintain the integrity of the science and implementation. We are currently still developing the governance for this type of review but encourage submissions.

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure. Do you think it's important to note that we don't have the governance just yet, or is that something we can address if/when these sorts of requests come in? It seems like the motivation to develop the governance might come from receiving a critical mass of requests, and I wonder if mentioning the lack of governance upfront might discourage people from submitting those requests (even though we say we encourage them).

Copy link
Member Author

Choose a reason for hiding this comment

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

I went ahead and added this, altering the wording a a bit and leaving out the part about governance. Happy to update it if you feel strongly about any of the details!

@emilyanndavis emilyanndavis requested a review from dcdenu4 April 7, 2025 21:56
Copy link
Member

@dcdenu4 dcdenu4 left a comment

Choose a reason for hiding this comment

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

Thanks @emilyanndavis ! This looks good to me.

@dcdenu4 dcdenu4 merged commit efb4795 into natcap:main Apr 9, 2025
39 checks passed
@emilyanndavis emilyanndavis deleted the feature/1045-contributing-guidelines branch April 9, 2025 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Proposal: Create contribution guidelines for InVEST
3 participants