-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Thorough overhaul of CONTRIBUTING doc. #24261
Thorough overhaul of CONTRIBUTING doc. #24261
Conversation
I'm still poking at things but this should be the core of the changes I wanted to make |
CONTRIBUTING.md
Outdated
If you find a new issue with the project we'd love to hear about it! | ||
The most important aspect of a bug report is that it includes enough information for us to reproduce it. | ||
To make this easier, there are three types of issue templates you can use. | ||
If you have a bug to report, please use *Bug Report* template. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably bullet or number these and remove the if's
CONTRIBUTING.md
Outdated
If you have a bug to report, please use *Bug Report* template. | ||
If you have an idea to propose, please use the *Feature Request* template. | ||
If your issue is something else, please use the default empty template. | ||
Please include as much detail as possible and try to remove anything that doesn't really relate to the issue itself. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe something about not filling out the required fields may hamper our ability to fix things.
CONTRIBUTING.md
Outdated
If you can not set the label, just add a quick comment in the issue asking that | ||
the “In Progress” label be set and a member will do so for you. | ||
Once you have decided to contribute to Podman by working on an issue, check our backlog of [open issues](https://github.com/containers/podman/issues) looking for any that are unassigned. | ||
If you want to work on a specific issue that is already assigned, but does not appear to be actively being worked on, please ping the assignee in the issue and ask if you can take over. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove the comma before but
; also you might consider replacing ping
with notify/highlight
This section describes how to make a contribution to Podman. | ||
These instructions are geared towards using a Linux development machine, which is required for doing development on the Podman backend. | ||
Development for the Windows and Mac clients can also be done on those operating systems. | ||
Check out these instructions for building the Podman client on [MacOSX](./build_osx.md) or [Windows](./build_windows.md). | ||
|
||
### Prepare your environment | ||
|
||
Read the [install documentation to see how to install dependencies](https://podman.io/getting-started/installation#build-and-run-dependencies). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unrelated by they must be updated over there at some point too.
CONTRIBUTING.md
Outdated
|
||
### Fork and clone Podman | ||
|
||
First you need to fork this project on GitHub. | ||
First, you need to fork this project on GitHub. | ||
|
||
Be sure to have [defined your `$GOPATH` environment variable](https://github.com/golang/go/wiki/GOPATH). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This paragraph here and below is outdated, with modern go modules this stuff is really not needed
CONTRIBUTING.md
Outdated
This code is included in the Podman repository, but is actually maintained elsewhere. | ||
Pull requests that change the vendor/ directory directly will not be accepted. | ||
Instead, changes should be submitted to the original package (defined by the path in `vendor/`; for example, `vendor/github.com/containers/storage` is the [containers/storage library](https://github.com/containers/storage/). | ||
Once the changes have been merged into the original package, Podman's vendor directory can be updated by using `go get` on the appropriate version of the package, then running `make vendor-in-container`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make vendor
or make vendor-in-container
, I really do not see why a container is needed for that
CONTRIBUTING.md
Outdated
Podman provides an extensive suite of regression tests in the `test/` directory. | ||
There is a [readme](https://github.com/containers/podman/blob/main/test/README.md) file available with details about the tests and how to run them. | ||
All pull requests should be accompanied by test changes covering the changes in the PR. | ||
Pull requests without tests cannot be merged without maintainer intervention. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well that is a bit of a pointless sentence as a maintainer must review every change anyway
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe "Pull requests without tests require additional scrutiny and waiving."?
CONTRIBUTING.md
Outdated
### Integration Tests | ||
|
||
Our primary means of performing integration testing for Podman is with the | ||
[Ginkgo](https://github.com/onsi/ginkgo) BDD testing framework. This allows | ||
us to use native Golang to perform our tests and there is a strong affiliation | ||
between Ginkgo and the Go test framework. Adequate test cases are expected to | ||
be provided with PRs. | ||
|
||
For details on how to run the tests for Podman in your test environment, see the | ||
testing [README.md](test/README.md). | ||
|
||
### System Tests | ||
|
||
The system tests are written in Bash using the BATS framework. | ||
They provide less comprehensive coverage than the integration tests. | ||
They are intended to validate Podman builds before they are shipped by distributions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IF you document this here you properly want to show the directory path were they are defined.
2725429
to
187f0c9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, nice work
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Very minor nits.
CONTRIBUTING.md
Outdated
To make this easier, there are three types of issue templates you can use. | ||
* If you have a bug to report, please use *Bug Report* template. | ||
* If you have an idea to propose, please use the *Feature Request* template. | ||
* If your issue is something else, please use the default empty template. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The actual string that appears in the New issue menu is Blank issue
, not empty
.
CONTRIBUTING.md
Outdated
|
||
Please don't include any private/sensitive information in your issue! | ||
Security issues should NOT be reported via Github and should instead be reported via the process described in our [README](https://github.com/containers/podman/blob/main/README.md#communications). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The New issue > Report a security vulnerability
menu entry links instead to SECURITY.md
. Should we be consistent?
CONTRIBUTING.md
Outdated
Podman provides an extensive suite of regression tests in the `test/` directory. | ||
There is a [readme](https://github.com/containers/podman/blob/main/test/README.md) file available with details about the tests and how to run them. | ||
All pull requests should be accompanied by test changes covering the changes in the PR. | ||
Pull requests without tests cannot be merged without maintainer intervention. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe "Pull requests without tests require additional scrutiny and waiving."?
The doc has been reorganized and reordered. New sections have been added as necessary to cover things not covered by the old guide. Some sections were expanded (e.g. detailing differences between E2E and System tests). Some sections that we did not actually follow were removed. Fixes https://issues.redhat.com/browse/RUN-2281 Signed-off-by: Matt Heon <mheon@redhat.com>
187f0c9
to
1bf37ee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: edsantiago, Luap99, mheon The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Change the DCO wording so that it is clear that we do not need the real name, just someting the properly identifies that person within the community. Touch up the old Reporting Issues and Submitting Pull Requests section based on Matt's work in podman[1] and add some extra step in there. Add new sections for the vendor process and and how to use git bisect. [1] containers/podman#24261 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
The doc has been reorganized and reordered. New sections have been added as necessary to cover things not covered by the old guide. Some sections were expanded (e.g. detailing differences between E2E and System tests). Some sections that we did not actually follow were removed.
Fixes https://issues.redhat.com/browse/RUN-2281
Does this PR introduce a user-facing change?