github.com/prebid/prebid-server/v2@v2.18.0/docs/developers/contributing.md (about) 1 # Contributing 2 3 ## Create an issue 4 5 [Create an issue](https://github.com/prebid/prebid-server/issues/new) describing the motivation for your changes. 6 Are you fixing a bug? Improving documentation? Optimizing some slow code? 7 8 Pull Requests without associated Issues may still be accepted, if the motivation is obvious. 9 However, this will help speed up code review if there's any uncertainty. 10 11 ## Change the code 12 13 [Create a fork](https://help.github.com/articles/working-with-forks/) and make your code changes. 14 Fix code formatting and run the unit tests with: 15 16 ```bash 17 ./validate.sh 18 ``` 19 20 ## Add tests 21 22 All pull requests must have 90% coverage in the changed code. Check the code coverage with: 23 24 ```bash 25 ./scripts/coverage.sh --html 26 ``` 27 28 Bugfixes should include a regression test which prevents that bug from being re-introduced in the future. 29 30 ## Update Documentation 31 32 Documentation for the project is stored in the [docs](..) directory. If your feature requires docs updates, 33 those updates must be submitted in the same Pull Request as the code changes. 34 35 - [docs/endpoints](../endpoints) describes the Prebid Server API. For example, the endpoint `host:port/openrtb2/auction` is described by [docs/endpoints/openrtb2/auction.md](../endpoints/openrtb2/auction.md) 36 - [docs/developers](../developers) contains docs intended for Developers. These assume that the reader is technical, and describe the mechanics of features. 37 38 ## Open a Pull Request 39 40 When you're ready, [submit a Pull Request](https://help.github.com/articles/creating-a-pull-request/) 41 against the `master` branch of [our GitHub repository](https://github.com/prebid/prebid-server/compare). 42 43 Pull Requests will be vetted through GitHub Actions. 44 To reproduce these same tests locally, do: 45 46 ```bash 47 ./validate.sh --nofmt --cov 48 ``` 49 50 If the tests pass locally, but fail on your PR, [update your fork](https://help.github.com/articles/syncing-a-fork/) with the latest code from `master`. 51 52 **Note**: We also have some [known intermittent failures](https://github.com/prebid/prebid-server/issues/103). 53 If the tests still fail after pulling `master`, don't worry about it. We'll re-run them when we review your PR.