๐Ÿ“ฆ apache / cloudberry

๐Ÿ“„ .asf.yaml ยท 152 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152# ----------------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     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.
#
# ----------------------------------------------------------------------
#
# Apache Software Foundation GitHub Repository Configuration
# Documentation: https://infra.apache.org/asf-yaml.html
#
# This .asf.yaml file configures repository settings and ASF
# infrastructure integration, automating and standardizing project
# management aspects.  Changes to this file will be automatically
# applied by ASF infrastructure.
#
# ----------------------------------------------------------------------

# GitHub repository configuration and metadata
github:
  # Project description shown on GitHub repository page
  description: One advanced and mature open-source MPP (Massively Parallel Processing) database. Open source alternative to Greenplum Database.

  # Project website URL
  homepage: https://cloudberry.apache.org

  # Repository topics/tags for discoverability
  labels:
    - mpp
    - big-data
    - data-warehouse
    - data-analysis
    - olap
    - distributed-database
    - database
    - postgres
    - postgresql
    - greenplum
    - cloudberry
    - ai
    - sql
    - c

  # GitHub repository feature toggles
  features:
    # Enable GitHub wiki as documentation is maintained elsewhere
    wiki: true
    # Enable GitHub Issues for bug tracking and feature requests
    issues: true
    # Enable GitHub Projects for project management and planning
    projects: true
    # Enable GitHub Discussions for community discussions
    discussions: true

  # Configure available merge strategies for pull requests
  enabled_merge_buttons:
    # Enable squash merging to maintain clean history
    squash: true
    # Disable standard merge commits
    merge: false
    # Enable rebase merging for linear history
    rebase: true

  # Branch protection rules for the main branch
  protected_branches:
    main:
      # Require status checks to pass before merging
      required_status_checks:
        # Require branches to be up to date before merging
        strict: true

        # Required status checks that must pass
        # Note: These contexts match the exact job names in GitHub
        # Actions workflows. They do not include the workflow name as a
        # prefix
        contexts:
          - rat-check
          - check-skip
          - Build Apache Cloudberry RPM
          - RPM Install Test Apache Cloudberry
          - ic-good-opt-off
          - ic-good-opt-on
          - pax-ic-good-opt-off
          - pax-ic-good-opt-on
          - pax-ic-isolation2-opt-off
          - pax-ic-isolation2-opt-on
          - ic-expandshrink
          - ic-singlenode
          - ic-resgroup-v2
          - ic-contrib
          - ic-gpcontrib
          - ic-fixme
          - ic-isolation2
          - ic-isolation2-crash
          - ic-parallel-retrieve-cursor
          - Generate Apache Cloudberry Build Report

      # Pull request review requirements
      required_pull_request_reviews:
        # Require new reviews when new commits are pushed
        dismiss_stale_reviews: false
        # Require at least 2 approving reviews
        required_approving_review_count: 2

      # Enforce linear commit history
      required_linear_history: true

      # Don't require commits to be signed
      required_signatures: false

      # Require conversation threads to be resolved
      required_conversation_resolution: true

  # Branch cleanup settings
  # Don't automatically delete branches after merging
  del_branch_on_merge: true

  # Dependabot security settings
  # Enable security vulnerability alerts
  dependabot_alerts: true
  # Disable automated dependency updates
  dependabot_updates: false

  # Protected tag patterns
  # Protect all numeric version tags (e.g., 1.0, 2.1.3)
  protected_tags:
    - "[0-9]*.*"

# Notification routing configuration
notifications:
  # Route all commit notifications to commits mailing list
  commits: commits@cloudberry.apache.org
  # Route issue notifications to commits mailing list
  issues: commits@cloudberry.apache.org
  # Route pull request notifications to commits mailing list
  pullrequests: commits@cloudberry.apache.org
  # Route discussion notifications to dev mailing list
  discussions: dev@cloudberry.apache.org
  # Route dependabot pull request notifications to private mailing list
  pullrequests_bot_dependabot: private@cloudberry.apache.org