diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..518c2b600b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,53 @@ +################################################################################################### +# Overview +# +# Pattern used to match files follows most of the same rules as used in gitignore files. Order is +# important; the last matching pattern takes precendence. +# +# For more info see: +# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners +################################################################################################### + + +################################################################################################### +# Global (@keycloak/maintainers) +################################################################################################### + +* @keycloak/maintainers + +################################################################################################### +# Testsuite +################################################################################################### + +/testsuite/ @keycloak/core-maintainers @keycloak/cloud-native-maintainers @keycloak/store-maintainers + +################################################################################################### +# Core (@keycloak/core-maintainers) +################################################################################################### + + +################################################################################################### +# Cloud Native (@keycloak/cloud-native-maintainers) +################################################################################################### + +/operator/ @keycloak/cloud-native-maintainers +/quarkus/ @keycloak/cloud-native-maintainers +/docs/guides/src/main/server/ @keycloak/cloud-native-maintainers +/docs/guides/src/main/operator/ @keycloak/cloud-native-maintainers + +################################################################################################### +# Store (@keycloak/store-maintainers) +################################################################################################### + +/model/ @keycloak/store-maintainers +/testsuite/model/ @keycloak/store-maintainers + +################################################################################################### +# UI (@keycloak/ui-maintainers) +################################################################################################### + +/js/ @keycloak/ui-maintainers +/adapters/oidc/js/ @keycloak/ui-maintainers +/rest/admin-ui-ext/ @keycloak/ui-maintainers +/themes/src/main/resources/theme/keycloak.v2/account/ @keycloak/ui-maintainers +/testsuite/integration-arquillian/tests/other/base-ui/ @keycloak/ui-maintainers \ No newline at end of file diff --git a/PR-CHECKLIST.md b/PR-CHECKLIST.md new file mode 100644 index 0000000000..52f856f850 --- /dev/null +++ b/PR-CHECKLIST.md @@ -0,0 +1,20 @@ +# Checklist for merging PRs + +Before merging a PR the PR should follow these rules: + +* The PR does not have the label "hold" +* There is an associated GitHub Issue linked to the PR + * A GitHub Issue is not required if the PR is not introducing a new feature or enhancement to Keycloak, or is resolving a bug where released versions of Keycloak are not affected +* There is sufficient test coverage +* Required documentation is included in the PR or an associated PR. Including updates to release notes and upgrade guide if applicable +* There are no unresolved negative reviews, or unresolved comments +* The PR does not contain changes not relevant to the GitHub Issue +* PRs has been reviewed by the relevant team, and approved by either a global maintainer or a team maintainer +* All required status checks have passed successfully +* If the PR is affected by unstable workflows or tests verify the issues are not introduced by the PR + +Merging a PR: + +* In most cases a PR should be merged by a team maintainer in the affected area +* Global maintainers can merge any PRs, but this is considered a fallback +* If a PR affects multiple areas it can be merged by any of the affected team maintainers as long as someone from each affected team has completed a review.