Welcome to our contributing guide! We are eager to receive contributions of all types. Ways to contribute include:
Please submit bug reports as GitHub Issues. When submitting bug reports, please include:
- A concise title
- Log snippets
- The command used to execute the task.
- The imageset-config used in the execution (if applicable)
- Use our template
- A concise title
- A concise description of the modification
- The conditions under which the modification would be relevant
- The desired outcome of the modification
- Provide step-by-step instructions of the enhancement
- Explain the difference between enhancement and current functionality
- Explain enhancement use cases
- Explain current workaround/alternatives without the enhancement
Please refer to the developer docs for information on getting started with developing on oc-mirror
.
When submitting pull requests, please ensure the following:
- Include unit tests if applicable
- Update
./docs
if applicable - Update
./data
if modifying schema - Follow our styleguides
- Use our template
We will always need better docs! You can contribute to our ./docs
in the following ways:
- Markdown-formatted tutorials for using
oc-mirror
in different scenarios. - Enhanced Developer/hacking docs
- Linux man style docs
To test basic functionality locally, we have developed an end to end test. Please use make test-e2e
.
Functional testing of oc-mirror
is difficult. Building a comprehensive test matrix is nearly impossible. If we do some thought experiments about how oc-mirror
works, we can see the complexity quickly developing:
- If over the lifecycle of differential use of
oc-mirror
, we have synchronized 3 openshift releases between 3 imagesets and we specify a latest openshift release for our next imageset, which prior openshift versions will have upgradeability to the incoming imageset with the latest openshift release? The answer should be that all previous downloads have an upgrade path to the highest incoming version becauseoc-mirror
should have pulled any intermediary openshift versions needed. Is that the case? Test it out and submit an issue if it does something unexpected!