diff --git a/.github/mergeable.yml b/.github/mergeable.yml new file mode 100644 index 00000000000000..524c18ecc1f7a4 --- /dev/null +++ b/.github/mergeable.yml @@ -0,0 +1,55 @@ +# 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. +--- +version: 2 +mergeable: + - when: pull_request.*, pull_request_review.* + validate: + - do: title + # Do not merge when it is marked work in progress (WIP) + must_exclude: + regex: ^\[WIP\] + message: This is work in progress. Do not merge yet. + begins_with: + match: '[AIRFLOW-' + must_include: + regex: ^(\[AIRFLOW-XXXX\]|\[AIRFLOW\-\d{1,4}\]) + message: Must include Jira issue in title. + - do: label + must_exclude: + regex: 'wip' + # All todo check boxes must be checked. + - do: description + must_exclude: + regex: \[ \] + message: There are incomplete TODO task(s) unchecked. + no_empty: + enabled: true + or: + - must_include: + regex: (\[AIRFLOW-XXXX\]) + - must_include: + regex: (\https\:\/\/issues\.apache\.org\/jira\/browse\/AIRFLOW\-\d{1,4}) + message: Link to the Jira Issue + - do: approvals + min: + count: 1 + # If package.json is updated, so should yarn.lock + - do: dependent + changed: + file: 'package.json' + files: ['yarn.lock']