diff mbox series

ci: run more checks in private repositories

Message ID 20220324145343.24485-1-david.marchand@redhat.com (mailing list archive)
State New
Delegated to: David Marchand
Headers show
Series ci: run more checks in private repositories | expand

Checks

Context Check Description
ci/intel-Testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Functional fail Functional Testing issues
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-abi-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/checkpatch success coding style OK

Commit Message

David Marchand March 24, 2022, 2:53 p.m. UTC
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.marchand@redhat.com>
---
 .ci/linux-build.sh          |  2 --
 .github/workflows/build.yml | 25 ++++++++++++++++++++++++-
 2 files changed, 24 insertions(+), 3 deletions(-)

Comments

Aaron Conole March 25, 2022, 2:32 p.m. UTC | #1
David Marchand <david.marchand@redhat.com> writes:

> 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.marchand@redhat.com>
> ---

Looks good to me.  The extra fetches shouldn't take too long (since we
refresh main branch weekly to the robot repository).  The checks look
good - and since it's part of the same build workflow, it will be
reported in the same place (and hopefully in a readable form).

Acked-by: Aaron Conole <aconole@redhat.com>
David Marchand April 28, 2022, 12:12 p.m. UTC | #2
On Fri, Mar 25, 2022 at 3:32 PM Aaron Conole <aconole@redhat.com> wrote:
> David Marchand <david.marchand@redhat.com> writes:
>
> > 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.marchand@redhat.com>
> > ---
>
> Looks good to me.  The extra fetches shouldn't take too long (since we
> refresh main branch weekly to the robot repository).  The checks look
> good - and since it's part of the same build workflow, it will be
> reported in the same place (and hopefully in a readable form).

Thanks for the review.

Thomas expressed a concern that the check-git-log.sh script has too
many false positives.
I will respin removing this check.
diff mbox series

Patch

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: