Skip to content

Commit

Permalink
Merge pull request #2207 from wiremock/comaintainers
Browse files Browse the repository at this point in the history
Add WireMock co-maintainers role and document the merge process
  • Loading branch information
oleg-nenashev committed Jun 13, 2023
2 parents 9e5717f + 7f84bf1 commit f659ce0
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,3 +106,45 @@ The website sources are located here: [wiremock/wiremock.org](https://github.com
All the documentation is located under the `_docs` directory as Markdown files,
and it can be edited with all modern text editors and IDEs.
See the repository's contributor guide for more information.

## Merge process

Merges to this repository can be performed by the WireMock maintainer ([Tom Akehurst](https://github.com/tomakehurst))
and by _co-maintainers_ assigned by him.
This is a [community role](https://github.com/wiremock/community/blob/main/governance/README.md)
designed for WireMock itself and other key repositories,
specifically to facilitate review and changes while WireMock 3 is in beta
and receives a lot of incremental patches.

- The maintainers are responsible to verify the pull request readiness
in accordance with contributing guidelines (e.g. code quality, test automation, documentation, etc.).
The pull request can only be approved if these requirements are met
- In the beginning, a review by one co-maintainer is required for the merge,
unless there are negative reviews and unaddressed comments by other contributors
- After the approval, it is generally recommended to give at least 24 hours for reviews before merging

Beyond WireMock 3.x Beta releases, the scope of responsibilities for co-maintainers
is yet to be determined based on the experiences with this role for the Beta versions.

### What can be merged by co-maintainers

While WireMock 3.x is in Beta, co-maintainers can merge the following pull requests:

- Minor features and improvements that do not impact the WireMock architecture
- Refactorings, including the major ones, e.g. Guava replacement
- Test Automation
- Non-production repository changes: documentation (including Javadoc), GitHub Actions, bots and automation
- Dependency updates for shaded dependencies, patch/minor versions for projects following the Semantic Versioning notation

### What CANNOT be merged by co-maintainers without BDFL’s approval

The following changes need a review by Tom Akehurst before being merged.

- Any compatibility breaking changes, including binary API and REST API,
unless pre-approved by the BDFL in the associated GitHub issue
- New request matchers (patterns)
- Substantial changes to WireMock Architecture and API.
Examples: New REST API end-points, major features like GraphQL fetching
- Inclusion of new libraries, even if shaded
- Major version Dependency updates, e.g. Jetty 11 => 12
- Changes in the deliverable artefacts, e.g. new modules

0 comments on commit f659ce0

Please sign in to comment.