Version 2:
  - Added fix for dpdk-dir cache.  We should not use 'native' machine.
  - Enhanced generation of cache key.
  - ubuntu-latest changed to ubuntu-18.04 to avoid surprises.
  - Added patch to remove non-ARM builds from Travis CI.

Version 3:
  - Patch for 'native' machine type dropped as already applied.
  - Added Acked-by from Simon to the patch 'travis: Keep only arm64 builds.'.
  - Dropped Acked-by from the GHA patch due to changes below.

  - Fixed issues with artifacts uploading:
    1. Wildcarded path didn't work for testsuite files for unknown reason.
    2. Action crashed with unhandled exception while trying to read
       socket files.
    Both issues fixed by collecting and archiving all needed artifacts
    in a separate step and only uploading simple archive file.

  - Uploading of artifacts now triggered on workflow cancellation.
    This is required to debug cases where testsuite hangs and job timed
    out.  GitHub Actions cancels timed out jobs and this is not
    qualified as a failure.

  These changes allowed me to debug the issue with testsuite hang on
  branches 2.10 and 2.11:
    https://patchwork.ozlabs.org/project/openvswitch/list/?series=216862&state=*

Basically, here is the diff between v2 and v3:

# --- a/.github/workflows/build-and-test.yml
# +++ b/.github/workflows/build-and-test.yml
# @@ -155,15 +155,24 @@ jobs:
#          name: deb-packages
#          path: '/home/runner/work/ovs/*.deb'
#  
# +    - name: copy logs on failure
# +      if: failure() || cancelled()
# +      run: |
# +        # upload-artifact@v2 throws exceptions if it tries to upload socket
# +        # files and we could have some socket files in testsuite.dir.
# +        # Also, upload-artifact@v2 doesn't work well enough with wildcards.
# +        # So, we're just archiving everything here to avoid any issues.
# +        mkdir logs
# +        cp config.log ./logs/
# +        cp -r ./*/_build/sub/tests/testsuite.* ./logs/ || true
# +        tar -czvf logs.tgz logs/
# +
#      - name: upload logs on failure
# -      if: failure()
# +      if: failure() || cancelled()
#        uses: actions/upload-artifact@v2
#        with:
#          name: logs-linux-${{ join(matrix.*, '-') }}
# -        path: |
# -          config.log
# -          '*/_build/sub/tests/testsuite.log'
# -          '*/_build/sub/tests/testsuite.dir'
# +        path: logs.tgz
#  
#    build-osx:
#      env:
# ---

Backporting for earlier branches:
---------------------------------
This patch-set could be backported just fine with slight changes in
build matrix (kernel versions) down to branch-2.13.

For branches 2.12 and below I'll send separate patch-sets shortly.


Ilya Maximets (2):
  github: Add GitHub Actions workflow.
  travis: Keep only arm64 builds.

 {.travis => .ci}/linux-build.sh               |   0
 {.travis => .ci}/linux-prepare.sh             |  13 +-
 {.travis => .ci}/osx-build.sh                 |   0
 {.travis => .ci}/osx-prepare.sh               |   0
 .github/workflows/build-and-test.yml          | 203 ++++++++++++++++++
 .travis.yml                                   |  33 +--
 .../contributing/submitting-patches.rst       |   9 +-
 Makefile.am                                   |   9 +-
 NEWS                                          |   2 +
 README.rst                                    |   2 +
 10 files changed, 227 insertions(+), 44 deletions(-)
 rename {.travis => .ci}/linux-build.sh (100%)
 rename {.travis => .ci}/linux-prepare.sh (72%)
 rename {.travis => .ci}/osx-build.sh (100%)
 rename {.travis => .ci}/osx-prepare.sh (100%)
 create mode 100644 .github/workflows/build-and-test.yml

-- 
2.25.4

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to