aboutsummaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)AuthorFilesLines
2022-05-13fix fedora CI (#683)John Levon1-1/+1
Presumably Fedora 36 came out, as our docker label moved, and we can no longer install. Change the docker label to fedora:35 to fix. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2022-05-12run scan-build in CI (#680)John Levon2-14/+23
Yet another static analyzer pass, this one is used by SPDK, and as it did detect some minor issues, it's worth running. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2022-05-12build PR runs in release mode (#669)John Levon1-11/+11
Instead of "plain", which doesn't specify any optimization, use "release", which both turns off -DDEBUG and enables -O3. Switch the default build to "debug" - we can't use optimization if we want to run valgrind, as there are apparent CPython bugs that trip up valgrind in that case. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2022-05-12add an ubuntu-latest PR run (#668)John Levon2-0/+13
Without this, we didn't detect the openssl-3.0 build breakage. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2022-05-09github: switch workflows over to using mesonDaniel P. Berrangé2-10/+11
This switch the pull request and coverity workflows over to use Meson instead of cmake. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-05-09github: add 'coverity.sh' script to replicate 'coverity' make targetDaniel P. Berrangé1-0/+35
Most of 'Makefile' will go away, but the 'coverity' target has a set of commands that are used to run a Coverity code check from GitHub workflows, or manually by maintainers. Putting this sequence of commands in a shell script removes the dep on 'make'. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-05-09github: add 'pull_request.sh' script to replicate 'prepush' make targetDaniel P. Berrangé1-0/+39
Most of 'Makefile' will go away, but the 'prepush' target has a set of commands that are used to run a full build and test check from GitHub workflows, or manually by contributors. Putting this sequence of commands in a shell script removes the dep on 'make'. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2022-05-09drop usage of MD5_*() (#667)John Levon1-3/+3
These functions from openssl are deprecated, and hence break builds with openssl 3.0, which now has a compiler warning for them. We only use them to check buffer contents; replace them with CRC code from DPDK instead, and entirely drop use of openssl. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2022-03-24retire ubuntu-18 CI (#656)John Levon2-13/+0
This OS version's valgrind lacks --exit-on-first-error, so let's stop trying to build in it. We still have centos 7 as "old Linux". Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2021-11-11Use fedora35 for pre-push test (#620)Swapnil Ingle2-3/+3
Recent pre-push runs on fedora34 are failing with setup issues, where it complains abour GLIBC_2.34 not found. Now instead we can start using fedora35 Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com> Reviewed-by: John Levon <john.levon@nutanix.com>
2021-11-11enable options in Valgrind that improve tracking uninit values (#617)Thanos Makatos1-4/+4
These extra options make tracking uninitilized values easier. They make Valgrind run slower so we need to increase the timeouts in the CI. Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com> Reviewed-by: John Levon <john.levon@nutanix.com>
2021-10-22run python code through flake8 (#613)John Levon1-2/+4
Aside from general style goodness, this found a couple of accidental re-definitions, so it's worth taking the pain now. Also, only run rstlint as part of pre-push. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2021-10-20add coverity scan support in github action (#612)John Levon1-0/+21
On a push to master branch, trigger a run and upload. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2021-05-14enforce linear, squashed history in master branch (#496)John Levon1-2/+2
Due to the CI infrastructure, the logical unit of "keeping the master branch green" is individual PRs (tests can't be run on intra-PR commits). Therefore, we need to enforce that PRs are squashed to a single commit when pushing to master, which also helps keep a clean, meaningful history. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2021-05-10start python-based testing framework (#447)John Levon1-5/+8
Trying to do our unit/functional testing with C is very tedious, and cmocka especially is a continual pain point. This commit introduces a Python-based testing infrastructure, and adds an initial set of functional tests for client negotiation. The tests work under Valgrind for leak/bad access detection of the C code, but not under ASAN, which lacks any meaningful shared-library support. We should be able to replace all of current C-based unit tests with this, reverting samples/ back to demo code only. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2021-05-04fix ubuntu-18 CI (#462)John Levon1-0/+1
We now need to apt update the ubuntu-18 image first. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2021-02-15rename fedora workflow (#339)John Levon2-2/+2
We're no longer running CI on fedora-rawhide, so rename it. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2021-02-11CI: don't use development version of Fedora (#336)Thanos Makatos1-2/+2
Hopefully fixes the following problem: warning: /var/cache/dnf/rawhide-2d95c80a1fa0a67d/packages/openssl-devel-1.1.1i-3.fc35.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 9867c58f: NOKEY Fedora - Rawhide - Developmental packages for t 1.6 MB/s | 1.6 kB 00:00 GPG key at file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-34-x86_64 (0x45719A39) is already installed The GPG keys listed for the "Fedora - Rawhide - Developmental packages for the next Fedora release" repository are already installed but they are not correct for this package. Check that the correct key URLs are configured for this repository.. Failing package is: openssl-devel-1:1.1.1i-3.fc35.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-34-x86_64 Public key for openssl-libs-1.1.1i-3.fc35.x86_64.rpm is not installed. Failing package is: openssl-libs-1:1.1.1i-3.fc35.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-34-x86_64 The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'yum clean packages'. Error: GPG check FAILED Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com> Reviewed-by: John Levon <john.levon@nutanix.con>
2021-02-10timeout github actions jobs after 5 minutes (#332)John Levon1-0/+4
The default of 360 minutes isn't really necessary... Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2021-02-01CI: run client/server through Valgrind (#282)Thanos Makatos1-4/+5
CI: run client/server through Valgrind And fail the test if Valgrind discovers any errors. Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
2021-01-29CI: run apt-get update for Ubuntu 20 (#286)Thanos Makatos1-0/+1
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
2021-01-22fix compilation on newer GCC versions (#241)John Levon2-0/+11
A newer GCC caught that in test_dma_controller_add_region_no_fd(), we were not allocating enough stack space for the region at the end of the dma_controller_t. Also add Fedora Rawhide to github CI for this. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2021-01-20support extended capabilities (#226)John Levon1-1/+1
Provide initial support for extended capabilities, and implement handlers for the Device Serial Number and Vendor-Specific capabilities. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2020-12-16fix clang build (#210)John Levon1-3/+3
Also add clang to pull request build checks. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2020-12-16add github settings configuration (#207)John Levon1-0/+113
Using https://github.com/apps/settings, we can directly configure the repository configuration by modifying and pushing .github/settings.yml Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
2020-12-15add CentOS 7 build to github pull_request workflow (#194)John Levon1-0/+10
Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
2020-12-07replace travis with github actions (#171)John Levon1-0/+19
Travis is closing down their free tier; stop using it. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>