This is an automated email from the ASF dual-hosted git repository.

tison pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/incubator-kvrocks.git


The following commit(s) were added to refs/heads/unstable by this push:
     new 70b12c6e ci: add path-filter (#1422)
70b12c6e is described below

commit 70b12c6efa8e9c168bfe0e01d8cb2ede9fc6232f
Author: tison <[email protected]>
AuthorDate: Sat May 6 17:49:15 2023 +0800

    ci: add path-filter (#1422)
    
    Signed-off-by: tison <[email protected]>
---
 .github/config/changes.yml     | 29 +++++++++++++++++++++++++++++
 .github/workflows/kvrocks.yaml | 27 +++++++++++++++++++++++++--
 2 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/.github/config/changes.yml b/.github/config/changes.yml
new file mode 100644
index 00000000..f556a862
--- /dev/null
+++ b/.github/config/changes.yml
@@ -0,0 +1,29 @@
+# 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.
+
+all:
+  - '**'
+docs:
+  - '*.md'
+  - '**/*.md'
+  - '.github/ISSUE_TEMPLATE/**'
+  - 'assets/**'
+  - 'licenses/**'
+  - '.asf.yaml'
+  - '.github/changes.yaml'
+  - '.gitignore'
+  - 'NOTICE'
diff --git a/.github/workflows/kvrocks.yaml b/.github/workflows/kvrocks.yaml
index 54535e84..225ffd64 100644
--- a/.github/workflows/kvrocks.yaml
+++ b/.github/workflows/kvrocks.yaml
@@ -33,9 +33,28 @@ concurrency:
   cancel-in-progress: true
 
 jobs:
+  precondition:
+    name: Precondition
+    runs-on: ubuntu-22.04
+    outputs:
+      docs_only: ${{ steps.result.outputs.docs_only }}
+    steps:
+      - uses: actions/checkout@v3
+      - uses: dorny/paths-filter@v2
+        id: changes
+        with:
+          filters: .github/config/changes.yml
+          list-files: csv
+      - name: Calculate changes
+        id: result
+        run: |
+          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
+
   check-and-lint:
     name: Lint and check code
+    if: ${{ needs.precondition.outputs.docs_only != 'true' }}
     runs-on: ubuntu-22.04
+    needs: [precondition]
     steps:
       - uses: actions/checkout@v3
       - uses: actions/setup-go@v3
@@ -72,6 +91,7 @@ jobs:
 
   build-and-test:
     name: Build and test
+    if: ${{ needs.precondition.outputs.docs_only != 'true' }}
     needs: [check-and-lint]
     strategy:
       fail-fast: false
@@ -259,6 +279,7 @@ jobs:
 
   check-docker:
     name: Check Docker image
+    if: ${{ needs.precondition.outputs.docs_only != 'true' }}
     needs: [check-and-lint]
     runs-on: ubuntu-20.04
     steps:
@@ -268,8 +289,7 @@ jobs:
       - uses: docker/build-push-action@v3
         with:
           context: .
-          build-args: |
-            MORE_BUILD_ARGS=-j${{ env.NPROC }}
+          build-args: MORE_BUILD_ARGS=-j${{ env.NPROC }}
 
   required:
     if: always()
@@ -280,6 +300,7 @@ jobs:
       - check-docker
     steps:
       - name: Merge requirement checking
+        if: ${{ needs.precondition.outputs.docs_only != 'true' }}
         run: |
           if [[ ! ( \
                    "${{ needs.build-and-test.result }}" == "success" \
@@ -288,3 +309,5 @@ jobs:
             echo "Required jobs haven't been completed successfully."
             exit 1
           fi
+      - name: Sentinel
+        run: true

Reply via email to