Repository navigation
Expand file tree
/
Copy path.asf.yaml
More file actions
196 lines (194 loc) · 7.74 KB
/
Copy path.asf.yaml
File metadata and controls
196 lines (194 loc) · 7.74 KB
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# 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.
# This file controls the settings of this repository
#
# See more details at
# https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features
notifications:
commits: [email protected]
issues: [email protected]
pullrequests: [email protected]
discussions: [email protected]
jira_options: link label worklog
github:
description: "Apache DataFusion Comet Spark Accelerator"
homepage: https://datafusion.apache.org/comet
labels:
- arrow
- datafusion
- rust
- spark
enabled_merge_buttons:
squash: true
merge: false
rebase: false
features:
issues: true
discussions: true
projects: true
protected_branches:
main:
required_pull_request_reviews:
required_approving_review_count: 1
required_status_checks:
# `Required Checks` is the aggregator job at the bottom of
# .github/workflows/ci.yml. It is deliberately the only entry: the
# individual heavy jobs publish a different check name depending on
# whether they ran or were skipped, so none of them can be required
# directly. dev/ci/check-ci-config.py keeps this string in sync with
# the job's `name:`.
#
# Careful when editing this list. A context that never reports blocks
# every merge to main, including the merge that would fix this file,
# and recovering from that needs an INFRA Jira ticket.
contexts:
- "Required Checks"
branch-0.1:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.2:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.3:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.4:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.5:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.6:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.7:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.8:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.9:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.10:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.11:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.12:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.13:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.14:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.15:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.16:
required_pull_request_reviews:
required_approving_review_count: 1
branch-0.17:
required_pull_request_reviews:
required_approving_review_count: 1
branch-1.0:
required_pull_request_reviews:
required_approving_review_count: 1
branch-1.1:
required_pull_request_reviews:
required_approving_review_count: 1
branch-1.2:
required_pull_request_reviews:
required_approving_review_count: 1
# GitHub's merge queue. Classic `protected_branches` above has no way to
# express this, but .asf.yaml rulesets accept a raw Rulesets API payload, so
# no INFRA ticket is needed. Same approach as apache/iceberg-python and
# apache/seatunnel; GitHub evaluates rulesets and classic branch protection
# together and applies the most restrictive result.
#
# Only the default branch is queued. Merge queue rules do not support
# wildcard ref patterns, so the branch-N.M release branches keep plain
# branch protection.
rulesets:
- name: Merge Queue
target: branch
enforcement: active
bypass_actors:
# apache/root - ASF Infra, so a wedged queue can always be recovered.
- actor_id: 118420
actor_type: Team
bypass_mode: always
conditions:
ref_name:
include:
- "~DEFAULT_BRANCH"
exclude: []
rules:
- type: merge_queue
parameters:
# Matches enabled_merge_buttons above: squash is the only method
# the repository allows.
merge_method: SQUASH
# ALLGREEN: every entry's own build has to be green, not just the
# last one's. HEADGREEN would let an entry whose build failed ride
# in on a green head, which papers over a flake but equally papers
# over a real failure that a later entry happens to mask. It would
# also let untested code in: `merge_group.base_sha` is the queue
# commit of the entry ahead, so each entry's build runs only the
# suites its own changed files select, and a green head says
# nothing about the suites an earlier entry needed.
grouping_strategy: ALLGREEN
# Speculation depth: how many merge_group builds run at once. Each
# queue entry gets its own build of itself plus everything ahead of
# it, and merge limits do not combine those builds, so this is the
# throughput dial. In September 2026 a full pipeline took a median
# of 92 minutes, so 2 capped a queue that never ran dry at roughly
# 30 merges a day while approvals arrived at about 20 a day, and
# the backlog grew. 4 roughly doubles the cap. The price is that
# many concurrent pipelines, and more rebuilds when an entry fails,
# since every entry behind it that was already building restarts.
max_entries_to_build: 4
# These only cap how many already-green entries land in one merge;
# they do not batch the builds. No minimum and no wait, so a lone
# PR merges the moment its build is green.
min_entries_to_merge: 1
min_entries_to_merge_wait_minutes: 0
max_entries_to_merge: 5
# Full pipeline runs have been observed at 2h04m-2h25m, on top of
# ASF runner scheduling delays. Anything under ~4h would evict
# healthy entries.
check_response_timeout_minutes: 300
pull_requests:
allow_update_branch: true
# Lets a committer queue a PR before its checks have finished, which is
# most of the point of having a queue.
allow_auto_merge: true
# Limit open pull requests per user without write access.
#
# With coding agents, the number of open PRs now far exceeds our review capacity.
# Setting a limit helps reviewers focus on fewer PRs at a time.
creation_cap:
enabled: true
max_open_pull_requests: 3
# publishes the content of the `asf-site` branch to
# https://datafusion.apache.org/comet/
publish:
whoami: asf-site
subdir: comet