Browse Source

[Chore] Add mergeable check (#16217)

* add mergeable check
dev
xiangzihao 5 months ago committed by GitHub
parent
commit
c7a0994fb0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      .asf.yaml
  2. 87
      .github/workflows/mergeable.yml

3
.asf.yaml

@ -46,7 +46,8 @@ github:
- E2E - E2E
- Docs - Docs
- Frontend Build - Frontend Build
# - "Mergeable: milestone-label-check" - "Mergeable: milestone-label-check"
- "Title Validator"
required_pull_request_reviews: required_pull_request_reviews:
dismiss_stale_reviews: true dismiss_stale_reviews: true
required_approving_review_count: 2 required_approving_review_count: 2

87
.github/workflows/mergeable.yml

@ -14,65 +14,50 @@
# KIND, either express or implied. See the License for the # KIND, either express or implied. See the License for the
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
---
#version: 2
on: on:
pull_request: pull_request:
types:
- opened
- reopened
- synchronize
- labeled
- unlabeled
- milestoned
- demilestoned
name: "Mergeable" name: "Mergeable"
jobs: jobs:
result: result:
name: "Mergeable: milestone-label-check" name: "Mergeable: milestone-label-check"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 30 timeout-minutes: 10
steps: steps:
- name: Status - name: Check milestone and labels
run: | uses: actions/github-script@v7
echo "Temporary skipping this check" with:
script: |
#mergeable: const { data } = await github.request("GET /repos/{owner}/{repo}/pulls/{pr}", {
# # we can not use `pull_request.*` which including event `pull_request.labeled`, according to https://github.com/mergeability/mergeable/issues/643, owner: context.repo.owner,
# # otherwise mergeable will keep add or remove label endless, we just need this CI act like the default behavior as repo: context.repo.repo,
# # GitHub action workflow `pull_requests` https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request like, pr: context.payload.pull_request.number
# # 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 if (data.milestone) {
# name: sync-sql-ddl core.info(`This pull request has a milestone: ${data.milestone.title}`);
# validate: } else {
# # Sql files must change synchronize core.setFailed(`A maintainer needs to set the milestone for this pull request.`);
# - do: dependent }
# files: let labeledFlag = false;
# - 'dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql' for (const label of data.labels) {
# - 'dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql' if (['feature', 'bug', 'improvement', 'document', 'chore', 'DSIP', 'CI&CD', 'revert'].includes(label.name)) {
# - 'dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql' core.info(`This pull request has a valid label: ${label.name}`);
# message: 'Sql files not change synchronize' labeledFlag = true;
# # Add labels 'sql not sync' and comment to reviewers if Sql files not change synchronize break;
# fail: }
# - do: comment }
# payload: if (!labeledFlag) {
# body: > core.setFailed(`A maintainer needs to set a valid label for this pull request.`);
# :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.'

Loading…
Cancel
Save