| # 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: |
| # we can not use `pull_request.*` which including event `pull_request.labeled`, according to https://github.com/mergeability/mergeable/issues/643, |
| # otherwise mergeable will keep add or remove label endless, we just need this CI act like the default behavior as |
| # GitHub action workflow `pull_requests` https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request like, |
| # which only trigger runs when a pull_request event's activity type is opened, synchronize, or reopened |
| - when: pull_request.opened, pull_request.reopened, pull_request.synchronize |
| name: sync-sql-ddl |
| validate: |
| # Sql files must change synchronize |
| - do: dependent |
| files: |
| - 'dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql' |
| - 'dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql' |
| - 'dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql' |
| message: 'Sql files not change synchronize' |
| # Add labels 'sql not sync' and comment to reviewers if Sql files not change synchronize |
| fail: |
| - do: comment |
| payload: |
| body: > |
| :warning: This PR do not change database DDL synchronize. |
| leave_old_comment: false |
| - do: labels |
| add: 'sql not sync' |
| # Remove labels 'sql not sync' if pass |
| pass: |
| - do: labels |
| delete: 'sql not sync' |
| |
| - when: pull_request.* |
| name: milestone-label-check |
| validate: |
| - do: milestone |
| no_empty: |
| enabled: false # Cannot be empty when true. |
| message: 'Milestone is required and cannot be empty.' |
| - do: label |
| and: |
| - must_include: |
| regex: 'feature|bug|improvement|document|chore' |
| message: 'Label must include one of the following: `feature`, `bug`, `improvement`, `document`, `chore`' |
| - must_include: |
| regex: '\d+\.\d+\.\w+' |
| message: 'Label must include one or more version numbers.' |