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

Thorough overhaul of CONTRIBUTING doc. #24261

Merged
merged 1 commit into from
Oct 17, 2024

Conversation

mheon
Copy link
Member

@mheon mheon commented Oct 14, 2024

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?

NONE

@openshift-ci openshift-ci bot added release-note-none approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Oct 14, 2024
@mheon
Copy link
Member Author

mheon commented Oct 14, 2024

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.
Copy link
Member

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 Show resolved Hide resolved
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.
Copy link
Member

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.
Copy link
Member

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

CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Show resolved Hide resolved
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).
Copy link
Member

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).
Copy link
Member

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`.
Copy link
Member

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.
Copy link
Member

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

Copy link
Member

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
Comment on lines 145 to 160
### 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.
Copy link
Member

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.

Copy link
Member

@Luap99 Luap99 left a comment

Choose a reason for hiding this comment

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

LGTM, nice work

Copy link
Member

@edsantiago edsantiago left a 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.
Copy link
Member

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).
Copy link
Member

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.
Copy link
Member

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>
Copy link
Member

@Luap99 Luap99 left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 17, 2024
Copy link
Contributor

openshift-ci bot commented Oct 17, 2024

[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:
  • OWNERS [Luap99,edsantiago,mheon]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot bot merged commit 993ecd5 into containers:main Oct 17, 2024
35 checks passed
Luap99 added a commit to Luap99/common that referenced this pull request Oct 18, 2024
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. release-note-none
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants