ci: run more checks in private repositories
Checks
Commit Message
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
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>
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.
@@ -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
@@ -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: