Thank you for your interest in Defense Unicorns UDS Core!
This document describes the process and requirements for contributing to this UDS Core repo.
- Developer Experience
- Definition of Done
- Getting Started
- Submitting a Pull Request
- PR Requirements
- Contact
Continuous Delivery is core to our development philosophy. Check out https://minimumcd.org for a good baseline agreement on what that means.
Specifically:
- We do trunk-based development (main) with short-lived feature branches that originate from the trunk, get merged into the trunk, and are deleted after the merge
- We don't merge code into main that isn't releasable
- We perform automated testing on all changes before they get merged to main
- Continuous integration (CI) pipeline tests are definitive
- We create immutable release artifacts
We apply these general principles to all User Stories and activities contributing to the UDS.
- Automated continuous integration (CI) pipeline tests pass
- CI pipeline tests have been updated to meet system changes
- Changes are peer reviewed
- Acceptance criteria is met
- Documentation is updated to reflect what changed
TBD
- Create an Issue: For significant changes, please create an issue first, describing the problem or feature proposal. Trivial fixes do not require an issue.
- Branch vs. Fork: We prefer contributors to work on branches within the main repository when possible, as this allows full CI/CD processes to run without encountering issues with restricted secrets. If you do not have permissions, you may use a fork, but be aware of potential CI/CD limitations.
- Commit Your Changes: Make your changes and commit them. All commits must be signed.
- Run Tests: Ensure that your changes pass all tests.
- Push Your Branch: Push your branch to the main repository or your fork on GitHub.
- Create a Pull Request: Open a pull request against the
main
branch of the Bundle repository. Please make sure that your PR passes all CI checks.
When submitting a pull request (PR) from a forked repository, please note that our CI/CD processes may not run completely due to security restrictions. This is because certain secrets required for the full CI/CD pipeline are not accessible from forks.
What to expect:
- CI/CD Failures: If you notice CI/CD failures, it might be due to these limitations rather than issues with your code.
- Maintainer Review: Our maintainers will review your PR and, if necessary, check out your branch and push it to the main repository. This step allows the full CI/CD process to run with the required secrets, ensuring that all checks are performed.
- PRs must be against the
main
branch. - PRs must pass CI checks.
- All commits must be signed.
- PRs should have a related issue, except for trivial fixes.
For any questions or concerns, please open an issue on GitHub or contact the maintainers.