Skip to content

08. Reviewing pull requests

Ilkka Seppälä edited this page Jan 12, 2025 · 29 revisions

Reviewing incoming pull requests is an open process where anyone can participate and give improvement suggestions. That being said, accepting a pull request can be done by a core team member. The general guidelines for code review are given below.


As a reviewer, you need to follow these steps

  • Assign the pull request to yourself
  • If the issue is not mentioned in the pull request, mention it. That way it's easy to later link back to the PR.
  • Check that the code compiles and the existing tests succeed (CI build does this)
  • Does the example code implement the pattern correctly and follow good coding practices?
  • Does the example code have proper tests and enough test coverage?
  • Is the example code commented well enough, including a general pattern/example description in App.java?
  • Is the YAML front matter on the top of the pattern's README.md implemented correctly so the pattern will show correctly on the website?
  • Are the categories and tags set correctly in the pattern's README.md?
  • Is the pattern well enough described in README.md?
  • Based on the checks above use the GitHub's review functionality to signal your acceptance/rejecting.
  • Please add one of the tags mentioned below (type label) as the prefix before squashing and merging the code to the repository.
Prefix Purpose
feat: Adding a new feature.
bug: Fixing a bug.
refactor: Code changes that neither fix a bug nor add a feature (e.g., restructuring).
style: Changes that do not affect the meaning of the code (e.g., formatting, linting).
test: Adding or modifying tests.
doc: Documentation-only changes (e.g., README updates).
chore: Maintenance changes (e.g., build process, tooling, dependency updates).
perf: Performance improvements.
ci: Changes related to continuous integration (e.g., GitHub Actions, pipelines).
hotfix: Urgent bug fixes that require immediate deployment.
security: Security-related changes (e.g., fixing vulnerabilities).
config: Configuration changes (e.g., .env, .gitignore, etc.).
build: Changes related to the build system (e.g., upgrading dependencies).
deps: Adding, removing, or updating dependencies.
release: Version bumps or release-specific changes.
i18n: Internationalization or localization updates.
ux: User experience improvements (e.g., UI changes).
wip: Work in progress. Commit is incomplete but pushed for collaboration.
revert: Reverting a previous commit.
prototype: Experimental or proof-of-concept code.
analytics: Adding or updating analytics or metrics.
deps-dev: Development-only dependency updates.
  • When the pull request is merged, set the milestone (e.g. we are working on 1.23-snapshot -> set the milestone to 1.23)
  • Check the affected issues and close them where necessary. Also to the closed issues set the milestone as described above.
  • Finally, recognize the contributors if they are not already listed. See Recognizing contributors.

As a general guideline, pull requests with no activity during the last few months will be closed.