Though devtools/checkpatches.sh is run as part of our CI, some other
(not well known) checks could help when run in private repositories
before submitting to the mailing list and even when run from the
ovsrobot.

Most of them require a git history or checked sources to run.
And I can't guarantee there won't be false positives.

Add a new job just for those checks so that it won't block compilation
tests in other jobs.

Signed-off-by: David Marchand <david.march...@redhat.com>
---
 .ci/linux-build.sh          |  2 --
 .github/workflows/build.yml | 25 ++++++++++++++++++++++++-
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 69940dec8b..e3ac497012 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -117,8 +117,6 @@ if [ "$ABI_CHECKS" = "true" ]; then
 
     export PATH=$(pwd)/libabigail/bin:$PATH
 
-    REF_GIT_REPO=${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
-
     if [ "$(cat reference/VERSION 2>/dev/null)" != "$REF_GIT_TAG" ]; then
         rm -rf reference
     fi
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 02819aa5de..829a10f5be 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -9,7 +9,31 @@ defaults:
   run:
     shell: bash --noprofile --norc -exo pipefail {0}
 
+env:
+  REF_GIT_BRANCH: main
+  REF_GIT_REPO: https://dpdk.org/git/dpdk
+  REF_GIT_TAG: v22.03
+
 jobs:
+  checkpatch:
+    if: github.repository != 'DPDK/dpdk'
+    name: Check patches
+    runs-on: ubuntu-18.04
+    steps:
+    - name: Checkout sources
+      uses: actions/checkout@v2
+      with:
+        fetch-depth: 0
+    - name: Check patches
+      run: |
+        git remote add upstream ${{ env.REF_GIT_REPO }}
+        git fetch upstream ${{ env.REF_GIT_BRANCH }}
+        failed=
+        devtools/check-doc-vs-code.sh upstream/${{ env.REF_GIT_BRANCH }} || 
failed=true
+        devtools/check-git-log.sh -r upstream/${{ env.REF_GIT_BRANCH }}.. || 
failed=true
+        devtools/check-meson.py || failed=true
+        devtools/check-symbol-maps.sh || failed=true
+        [ -z "$failed" ]
   build:
     name: ${{ join(matrix.config.*, '-') }}
     runs-on: ${{ matrix.config.os }}
@@ -23,7 +47,6 @@ jobs:
       LIBABIGAIL_VERSION: libabigail-1.8
       MINI: ${{ matrix.config.mini != '' }}
       PPC64LE: ${{ matrix.config.cross == 'ppc64le' }}
-      REF_GIT_TAG: v22.03
       RUN_TESTS: ${{ contains(matrix.config.checks, 'tests') }}
 
     strategy:
-- 
2.23.0

Reply via email to