ContainerImage.Pinniped/doc/contributing.md

2.4 KiB

Contributing to Pinniped

Contributions to Pinniped are welcome. Here are some things to help you get started.

  1. Please see the Code of Conduct.
  2. Learn about the scope of the project.
  3. Coming soon: details about how to legally contribute to the project, including CLA/DCO details.
  4. See below for how to file a bug report.
  5. See below for how to suggest a feature.
  6. See below for how to build the code.
  7. See below for how to run the tests.

Bugs

To file a bug report, please first open an issue. The project team will work with you on your bug report.

Once the bug has been validated, a pull request can be opened to fix the bug.

For specifics on what to include in your bug report, please follow the guidelines in the issue and pull request templates.

Features

To suggest a feature, please first open an issue and tag it with proposal. The project team will work with you on your feature request.

Once the feature request has been validated, a pull request can be opened to implement the feature.

For specifics on what to include in your feature request, please follow the guidelines in the issue and pull request templates.

Building

The Dockerfile at the root of the repo can be used to build and package the code. After making a change to the code, rebuild the docker image with the following command.

# From the root directory of the repo...
docker build .

Testing

Running Lint

./hack/module.sh lint

Running Unit Tests

./hack/module.sh units

Running Integration Tests

./hack/prepare-for-integration-tests.sh && source /tmp/integration-test-env && go test -v -count 1 ./test/...

The ./hack/prepare-for-integration-tests.sh script will create a local kind cluster on which the integration tests will run.

Pre-commit Hooks

This project uses pre-commit to agree on some conventions about whitespace/file encoding.

$ brew install pre-commit
[...]
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit