summaryrefslogtreecommitdiff
path: root/.github/workflows
Commit message (Collapse)AuthorAgeFilesLines
* ci: Separate DPDK from OVS build.David Marchand2023-05-051-17/+72
| | | | | | | | | | | | | | Let's separate DPDK compilation from the rest of OVS build: - this avoids multiple jobs building DPDK in parallel, which especially affects builds in the dpdk-latest branch, - we separate concerns about DPDK build requirements from OVS build requirements, like python dependencies, - building DPDK does not depend on how we will link OVS against it, so we can use a single cache entry regardless of DPDK_SHARED option, Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Test building Fedora RPMs.Ilya Maximets2023-04-061-0/+37
| | | | | | | | | | | | | | Testing that RPMs can be built to catch possible spec file issues like missing dependencies. GitHub seems to have an agreement with Docker Hub about rate limiting of image downloads, so it should not affect us. We may switch to quay.io if that will ever become a problem in the future. Reviewed-by: David Marchand <david.marchand@redhat.com> Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Test AF_XDP build using libbpf instead of kernel sources.Ilya Maximets2023-01-031-7/+3
| | | | | | | | | | | | | | | | | AF_XDP bits was removed from kernel's libbpf in 6.0. libbpf and libxdp are now primary way to build AF_XDP applications. Most of modern distributions are already packaging some version of libbpf, so it's better to test building with it instead of building old unsupported kernel tree. Ubuntu started packaging libxdp only in 22.10, so not using it for now. Kernel build infrastructure in CI scripts is not needed anymore. Removed. Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* travis: Drop support.David Marchand2022-12-211-0/+4
| | | | | | | | | | | | | | Following a change in the terms of use, free Travis credits are really too low for a realistic usage by OVS contributors. As a consequence, testing OVS with Travis has been abandoned by most (if not all) contributors to the project. Drop the Travis configuration from our repository, clean references in the documentation and move GHA specifics to the association yml. Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* dpdk: Update to use v22.11.1.Ian Stokes2022-12-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit add support to for DPDK v22.11.1, it includes the following changes. 1. ci: Reduce DPDK compilation time. 2. system-dpdk: Update vhost tests to be compatible with DPDK 22.07. http://patchwork.ozlabs.org/project/openvswitch/list/?series=316528 3. system-dpdk: Update vhost tests to be compatible with DPDK 22.07. http://patchwork.ozlabs.org/project/openvswitch/list/?series=311332 4. netdev-dpdk: Report device bus specific information. 5. netdev-dpdk: Drop reference to Rx header split. http://patchwork.ozlabs.org/project/openvswitch/list/?series=321808 In addition documentation was also updated in this commit for use with DPDK v22.11.1. The Debian shared DPDK compilation test is removed as part of this patch due to a packaging requirement. Once DPDK v22.11.1 is available in Debian repositories it should be re-enabled in OVS. For credit all authors of the original commits to 'dpdk-latest' with the above changes have been added as co-authors for this commit Signed-off-by: David Marchand <david.marchand@redhat.com> Co-authored-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Sunil Pai G <sunil.pai.g@intel.com> Co-authored-by: Sunil Pai G <sunil.pai.g@intel.com> Tested-by: Michael Phelan <michael.phelan@intel.com> Tested-by: Emma Finn <emma.finn@intel.com> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
* github: Update versions of action dependencies.Ilya Maximets2022-10-121-9/+9
| | | | | | | | | | | | | | | | checkout@v2, cache@v2 and setup-python@v2 are using outdated Node.js 12 which is now deprecated in GHA [1], so these actions will stop working soon. Updating to most recent major versions with Node.js 16. This stops GHA from throwing warnings in every build. While at it, also updating upload-artifacts to more recent version. [1] https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/ Acked-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Move CI to ubuntu 20.04 base image.Ilya Maximets2022-08-091-2/+2
| | | | | | | | | | | | | | 18.04 image is deprecated and will disappear soon. Also some slowdowns and brownouts are planned to push users away from this deprecated version: https://github.com/actions/virtual-environments/issues/6002 Moving to 20.04. Can't move to 22.04 at the moment because of deprecation warnings from openssl 3.0. Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ci: Stop building OVS kernel module.Greg Rose2022-07-151-14/+0
| | | | | | | | | | Remove kernel based github workflows since the OVS kernel driver is no longer supported since Release 2.18 Co-authored-by: David Marchand <david.marchand@redhat.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Greg Rose <gvrose8192@gmail.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* debian: Add option to build without DPDK.Ilya Maximets2022-07-151-2/+13
| | | | | | Co-authored-by: Frode Nordahl <frode.nordahl@canonical.com> Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ci: Separate job for debs, ensure built pkg is tested.Frode Nordahl2022-07-151-14/+36
| | | | | | | | | | | | | | | | Use a separate GitHub Actions job for deb test so that we can control base image for package test. The CI deb package test code currently attempts to use `apt` to install local packages. That may not produce the expected result. Explicitly install the local packages with `dpkg` after installing dependencies from `apt` instead. Also enable test installation of ipsec deb package. Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* debian: Archive debian packaging source.Frode Nordahl2022-07-151-3/+0
| | | | | | | | | | | | | | | | | | | | | | | The packaging source in the OVS repository has drifted away from what is currently in Debian and Ubuntu. This state is problematic because from time to time someone tries to build packages from the upstream OVS debian package source and then expect that package to work with up-/down-grades from-/to/ distro versions. To support the on-going work to remove the out of tree OVS kernel driver from the repository [0], an update to the debian packaging is also required. On the back of the discussion in [0] we agreed that replacing the current version with what Debian and Ubuntu is currently converging on would be preferable. This commit is a first in a series to update the upstream OVS debian packaging source to be up to date with what is currently in Debian and Ubuntu. 0: https://mail.openvswitch.org/pipermail/ovs-dev/2022-June/394634.html Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* ci: Add UB Sanitizer.Dumitru Ceara2022-05-171-0/+5
| | | | | | | | | Note: There still is an UB instance when using SSE4.2 as reported here: https://mail.openvswitch.org/pipermail/ovs-dev/2022-January/390904.html Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Remove workaround fixing up /etc/hosts.Dumitru Ceara2021-11-091-6/+0
| | | | | | | | | The issue that was worked around has been fixed in the meantime: https://github.com/actions/virtual-environments/issues/3353 Signed-off-by: Dumitru Ceara <dceara@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Stick to python 3.9.Ilya Maximets2021-10-211-2/+2
| | | | | | | | | | | | | | | | | Since recently actions/setup-python@v2 started to pull python 3.10.0 which seems to be incompatible with the meson 0.47.1 which we're using to build DPDK. This broke CI on 2.16 and master branches: https://github.com/ovsrobot/ovs/runs/3967167374 Sticking the version to 3.9 for now to avoid the CI failure. Dependency resolver is still not very happy, but at least it works. We'll need to find a newer version of meson to use later and revert this change. Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com>
* github: Fix up malformed /etc/hosts.Ilya Maximets2021-05-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | For some reason /etc/hosts in GHA now contains a plain text line like this: Note: Don't Delete this file. Also, don't remove this line. ... This breaks libunbound and makes a series of unit tests to emit following warning: |00001|dns_resolve|WARN|Failed to read etc/hosts: syntax error Working around this issue by removing a bad line from /etc/hosts until this fixed properly by GitHub team. This in combination with other fixes should unblock CI. Bug for virtual-environments: https://github.com/actions/virtual-environments/issues/3353 Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Reviewed-by: David Marchand <david.marchand@redhat.com> Acked-by: Aaron Conole <aconole@redhat.com>
* github: Fix handling of python packages.Ilya Maximets2021-03-301-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GitHub Actions doesn't have python locations in PATH and different runners might have different configuration for default python location and versions. For example, on some runners python2 might be installed or not. Missing PATH causes weird situations on older branches where during one run our scripts can locate just installed flake8 and can't do that on a different run. But this might also create other unpredictable issues on all branches. It's required to use actions/setup-python@v2 in order to have predictable version of python installed and paths correctly configured. Due to some bugs in GHA itself it doesn't set $HOME/.local/bin into PATH, so we have to do that manually for now in order to use '--user'. This might be fixed later in actions/setup-python or in base runners. We already setting it for DPDK 20.11 (I think the issue was spotted but not fully investigated). Moving PATH updates to a separate step to make them more explicit and available for all steps of the job. Unfortunately actions/setup-python@v2 also makes invisible python packages installed from Ubuntu repositories. Switching them to 'pip3 install'. Fixes: 6cb2f5a630e3 ("github: Add GitHub Actions workflow.") Reported-by: Numan Siddique <numans@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Run clang test with AddressSanitizer enabled.Ilya Maximets2021-02-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | This commit is based on a similar one from OVN by Dumitru Ceara: a429b24f7bf5 ("ci: Enable AddressSanitizer in Linux clang CI test runs.") It's useful to run testsuite with address sanitizer enabled to catch memory leaks and invalid memory accesses. Skipping re-check if AddressSanitizer reports are present in the test run directory to not lose them. Right now OVS has no memory leaks detected on a testsuite run with -O1. With -O2 there are few false-positive leak reports in test-ovsdb application, so not using this optimization level for now. For the same reason not enabling leak detection by default for everyone. Enabled only in CI. AddressSanitizer increases execution time for this job from ~12 to ~16 minutes, but it looks like a reasonable sacrifice. Acked-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Don't fail the job if 'apt update' failed.Ilya Maximets2021-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | Some repositories that are enabled in GHA are not stable and lead to 'apt update' failures: E: The repository 'https://apt.postgresql.org/pub/repos/apt bionic-pgdg Release' no longer has a Release file. This causes the job failure. In most cases we don't really need any packages from these failed repositories, so we could try to continue the job. Previously this kind of failures happened on older branches with ubuntu 16.04 base image, so we have this workaround already there. Now it started to fail on bionic images, so fixing there too. Fixes: 02f76fb42ae9 ("github: Fix Ubuntu package installation.") Acked-by: Aaron Conole <aconole@redhat.com> Acked-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* github: Fix Ubuntu package installation.David Marchand2020-12-211-0/+2
| | | | | | | | | Before trying to install a package, APT cache must be updated to avoid asking for an unavailable version of a package. Fixes: 6cb2f5a630e3 ("github: Add GitHub Actions workflow.") Signed-off-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
* dpdk: Update to use DPDK v20.11.Ian Stokes2020-12-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for DPDK v20.11, it includes the following changes. 1. travis: Remove explicit DPDK kmods configuration. 2. sparse: Fix build with 20.05 DPDK tracepoints. 3. netdev-dpdk: Remove experimental API flag. http://patchwork.ozlabs.org/project/openvswitch/list/?series=173216&state=* 4. sparse: Update to DPDK 20.05 trace point header. http://patchwork.ozlabs.org/project/openvswitch/list/?series=179604&state=* 5. sparse: Fix build with DPDK 20.08. http://patchwork.ozlabs.org/project/openvswitch/list/?series=200181&state=* 6. build: Add support for DPDK meson build. http://patchwork.ozlabs.org/project/openvswitch/list/?series=199138&state=* 7. netdev-dpdk: Remove usage of RTE_ETH_DEV_CLOSE_REMOVE flag. http://patchwork.ozlabs.org/project/openvswitch/list/?series=207850&state=* 8. netdev-dpdk: Fix build with 20.11-rc1. http://patchwork.ozlabs.org/project/openvswitch/list/?series=209006&state=* 9. sparse: Fix __ATOMIC_* redefinition errors http://patchwork.ozlabs.org/project/openvswitch/list/?series=209452&state=* 10. build: Remove DPDK make build references. http://patchwork.ozlabs.org/project/openvswitch/list/?series=216682&state=* For credit all authors of the original commits to 'dpdk-latest' with the above changes have been added as co-authors for this commit. Signed-off-by: David Marchand <david.marchand@redhat.com> Co-authored-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Sunil Pai G <sunil.pai.g@intel.com> Co-authored-by: Sunil Pai G <sunil.pai.g@intel.com> Signed-off-by: Eli Britstein <elibr@nvidia.com> Co-authored-by: Eli Britstein <elibr@nvidia.com> Tested-by: Harry van Haaren <harry.van.haaren@intel.com> Tested-by: Govindharajan, Hariprasad <hariprasad.govindharajan@intel.com> Tested-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> Acked-by: Ilya Maximets <i.maximets@ovn.org> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
* github: Add GitHub Actions workflow.Ilya Maximets2020-11-261-0/+203
This is an initial version of GitHub Actions support. It mostly mimics our current Travis CI build matrix with slight differences. The main issue is that we don't have ARM support here. Minor difference that we can not install 32-bit versions of libunwind and libunbound since those are not avaialble in repository. Higher concurrency level allows to finish all tests less than in 20 minutes. Which is 3 times faster than in Travis. .travis folder renamed to .ci to highlight that it used not only for Travis CI. Travis CI support will be reduced to only test ARM builds soon and will be completely removed when travis-ci.org will be turned into read-only mode. What happened to Travis CI: https://mail.openvswitch.org/pipermail/ovs-dev/2020-November/377773.html Acked-by: Simon Horman <simon.horman@netronome.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>