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.