# 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|revert' message: 'Label must include one of the following: `feature`, `bug`, `improvement`, `document`, `chore`, `revert`' - must_include: regex: 'ready-to-merge' message: 'Please check if there are PRs that already have a `ready-to-merge` label and can be merged, if exists please merge them first.'