#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

github:
  description: "Apache Geode"
  homepage: https://geode.apache.org/
  labels:
    - geode
    - datagrid
    - apache
  features:
    # To enable wiki for documentation
    wiki: false
    # To enable issue management
    issues: false
    # To enable projects for project management boards
    projects: true

  enabled_merge_buttons:
    # enable squash button:
    squash:  true
    # disable merge button:
    merge:  false
    # enable rebase button:
    rebase:  true

  protected_branches:
    develop:
      required_status_checks:
        # strict means "Require branches to be up to date before merging".
        strict: false
        # contexts are the names of checks that must pass
        contexts:
          - "Analyze (java)"
          - "Analyze (javascript)"
          - "Analyze (python)"
          - "Analyze (go)"
          - CodeQL

      required_pull_request_reviews:
        dismiss_stale_reviews: false
        require_code_owner_reviews: false
        required_approving_review_count: 1

      required_signatures: false

notifications:
    commits: commits@geode.apache.org
    issues: issues@geode.apache.org
    pullrequests: notifications@geode.apache.org
    jira_options: link label
