On 11/26/20 1:11 PM, Ilya Maximets wrote: > 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 >
Applied to master and backported down to 2.13. Best regards, Ilya Maximets. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev