This is an automated email from the ASF dual-hosted git repository.
leonard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-cdc.git
The following commit(s) were added to refs/heads/master by this push:
new 11deb6263 [build][CI] Introduce automated PR governance workflows
11deb6263 is described below
commit 11deb62637fe0ee7ee588ecbb3fb395d7e2bb3fc
Author: yux <[email protected]>
AuthorDate: Tue Jul 16 18:53:08 2024 +0800
[build][CI] Introduce automated PR governance workflows
This closes #3466
---
.github/actions/get-workflow-origin | 1 +
.github/actions/label-when-approved-action | 1 +
.github/workflows/approve_label.yml | 64 +++++++++++++++++++++++++++++
.github/workflows/approve_label_trigger.yml | 28 +++++++++++++
.github/workflows/close_stale.yml | 56 +++++++++++++++++++++++++
.gitmodules | 6 +++
6 files changed, 156 insertions(+)
diff --git a/.github/actions/get-workflow-origin
b/.github/actions/get-workflow-origin
new file mode 160000
index 000000000..1b5a8a677
--- /dev/null
+++ b/.github/actions/get-workflow-origin
@@ -0,0 +1 @@
+Subproject commit 1b5a8a677b9ac6b10ffe7c275ebb0f9c8cff62bb
diff --git a/.github/actions/label-when-approved-action
b/.github/actions/label-when-approved-action
new file mode 160000
index 000000000..0058d0094
--- /dev/null
+++ b/.github/actions/label-when-approved-action
@@ -0,0 +1 @@
+Subproject commit 0058d0094da27e116fad6e0da516ebe1107f26de
diff --git a/.github/workflows/approve_label.yml
b/.github/workflows/approve_label.yml
new file mode 100644
index 000000000..3098a8fcf
--- /dev/null
+++ b/.github/workflows/approve_label.yml
@@ -0,0 +1,64 @@
+# 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.
+#
+
+name: "Label when approved workflow run"
+on:
+ workflow_run:
+ workflows: [Label-when-reviewed]
+ types: [requested]
+permissions:
+ # All other permissions are set to none
+ checks: write
+ contents: read
+ pull-requests: write
+jobs:
+ label-when-approved:
+ name: "Label when approved"
+ runs-on: ubuntu-latest
+ outputs:
+ isApprovedByCommiters: ${{
steps.label-when-approved-by-commiters.outputs.isApproved }}
+ isApprovedByAnyone: ${{
steps.label-when-approved-by-anyone.outputs.isApproved }}
+ steps:
+ - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
+ uses: actions/checkout@v2
+ with:
+ persist-credentials: false
+ submodules: recursive
+ - name: "Get information about the original trigger of the run"
+ uses: ./.github/actions/get-workflow-origin
+ id: source-run-info
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ sourceRunId: ${{ github.event.workflow_run.id }}
+ - name: Label when approved by commiters
+ uses: ./.github/actions/label-when-approved-action
+ id: label-when-approved-by-commiters
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ label: 'approved'
+ require_committers_approval: 'true'
+ remove_label_when_approval_missing: 'true'
+ pullRequestNumber: ${{
steps.source-run-info.outputs.pullRequestNumber }}
+ - name: Label when approved by anyone
+ uses: ./.github/actions/label-when-approved-action
+ id: label-when-approved-by-anyone
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ label: 'reviewed'
+ pullRequestNumber: ${{
steps.source-run-info.outputs.pullRequestNumber }}
+ remove_label_when_approval_missing: 'true'
\ No newline at end of file
diff --git a/.github/workflows/approve_label_trigger.yml
b/.github/workflows/approve_label_trigger.yml
new file mode 100644
index 000000000..9597bc4cd
--- /dev/null
+++ b/.github/workflows/approve_label_trigger.yml
@@ -0,0 +1,28 @@
+# 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.
+#
+
+name: Label-when-reviewed
+on: pull_request_review
+jobs:
+
+ label-when-reviewed:
+ name: "Label PRs when reviewed"
+ runs-on: ubuntu-latest
+ steps:
+ - name: "Do nothing. Only trigger corresponding workflow_run event"
+ run: echo
\ No newline at end of file
diff --git a/.github/workflows/close_stale.yml
b/.github/workflows/close_stale.yml
new file mode 100644
index 000000000..edc604635
--- /dev/null
+++ b/.github/workflows/close_stale.yml
@@ -0,0 +1,56 @@
+# 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.
+
+
+# https://github.com/actions/stale
+name: 'Close stale issues and PRs'
+on:
+ schedule:
+ - cron: '0 0 * * *'
+permissions:
+ # Stale recommended permissions
+ pull-requests: write
+ issues: write
+jobs:
+ stale:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/stale@v9
+ with:
+ operations-per-run: 1000
+ # Stale Issues
+ days-before-issue-stale: 0
+ days-before-issue-close: 0
+ stale-issue-message: >
+ As required by Apache Flink, please report bugs or new features on
Apache Jira
+ under the project Flink using component tag Flink CDC. You must
have a JIRA account in order to log cases and issues.
+ If you don’t have an ASF JIRA account, you can request one at the
ASF Self-serve portal,
+ account creation requires review by the PMC member of the
application project, which normally takes one to two working days to be
approved.
+ close-issue-message: >
+ This issue has been closed because Flink CDC doesn't use GitHub
issue trackers.
+ # Stale PRs
+ days-before-pr-stale: 60
+ days-before-pr-close: 30
+ stale-pr-message: >
+ This pull request has been automatically marked as stale because
it has not had recent
+ activity for 60 days. It will be closed in 30 days if no further
activity occurs.
+ close-pr-message: >
+ This pull request has been closed because it has not had recent
activity. You could reopen it
+ if you try to continue your work, and anyone who are interested in
it are encouraged to continue
+ work on this pull request.
+ close-pr-label: stale
+ remove-pr-stale-when-updated: true
+ remove-issue-stale-when-updated: true
+ labels-to-add-when-unstale: 'waiting for review'
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
index 6cb7e5ce6..acc688617 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,9 @@
[submodule "docs/themes/book"]
path = docs/themes/book
url = https://github.com/alex-shpak/hugo-book
+[submodule ".github/actions/get-workflow-origin"]
+ path = .github/actions/get-workflow-origin
+ url = https://github.com/potiuk/get-workflow-origin
+[submodule ".github/actions/label-when-approved-action"]
+ path = .github/actions/label-when-approved-action
+ url = https://github.com/TobKed/label-when-approved-action