diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..696375551 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Contribution Guidelines + +For bug fixes, please create new pull requests against the default (7.0) +branch. If the bug only affects a specific older release branch, target that +branch instead. + +For new features, please open an issue or discuss the idea on mailing lists +or in Matrix beforehand. + +## Maintaining Compatibility + +Build and test your changes on as many systems as possible. +Important operating systems are Linux, Windows, macOS, vxWorks and RTEMS. + +## Testing + +All new features must come with automated tests to verify their correctness. +This also helps to find out if future changes break existing features. + +EPICS Base comes with a testing framework which allows you to run IOCs, +set and read/compare values and more. + +See any of the existing tests within the repository for guidance on test +structure and dependencies. + +Add your tests to the appropriate test directory and ensure they are +included in the test Makefile. + +Your test should run (and succeed) when you execute: + +```bash +make runtests +``` + +CI will run these tests automatically. All checks must pass before a +pull request can be merged. + +## Review Process + +The core developer team will review your changes, suggest changes, highlight +issues or merge your code into EPICS Base. diff --git a/README.md b/README.md index 66c719c93..900650cc7 100644 --- a/README.md +++ b/README.md @@ -54,9 +54,13 @@ Run the `dbl` command to list the records it provides: epics> dbl first:BaseVersion first:exit -epics> +epics> ``` +## Contributing + +See [CONTRIBUTING.md](./CONTRIBUTING.md). + ## License EPICS Base is distributed subject to a Software License