From: Aaron Conole <aconole@redhat.com>
To: Patrick Robb <probb@iol.unh.edu>
Cc: dev@dpdk.org, David Marchand <david.marchand@redhat.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Anatoly Burakov <anatoly.burakov@intel.com>,
Michael Santana <maicolgabriel@hotmail.com>
Subject: Re: [RFC] ci: Add support for Cirrus-CI service to test FreeBSD.
Date: Wed, 05 Feb 2025 16:20:53 -0500 [thread overview]
Message-ID: <f7ta5b0f5qi.fsf@redhat.com> (raw)
In-Reply-To: <CAJvnSUC0gSQ10P-Ddy0zjxzUPjD_+2PXO1WBESR5PUCm3KASkQ@mail.gmail.com> (Patrick Robb's message of "Tue, 4 Feb 2025 12:33:44 -0500")
Patrick Robb <probb@iol.unh.edu> writes:
> On Tue, Feb 4, 2025 at 11:07 AM Aaron Conole <aconole@redhat.com> wrote:
>
> This commit adds preliminary support for developer driven FreeBSD testing
> via the Cirrus-CI cloud continuous integration system.
>
> NOTE: Currently, this does not successfully execute. See the following
> build result:
> https://cirrus-ci.com/task/5626189961756672
>
> Full Logs:
> https://api.cirrus-ci.com/v1/task/5626189961756672/logs/check.log
>
> The tests themselves may need to be run as root.
>
> Signed-off-by: Aaron Conole <aconole@redhat.com>
> ---
> .ci/freebsd-build.sh | 5 +++++
> .ci/freebsd-setup.sh | 3 +++
> .cirrus.yml | 33 +++++++++++++++++++++++++++++++++
> MAINTAINERS | 1 +
> 4 files changed, 42 insertions(+)
> create mode 100755 .ci/freebsd-build.sh
> create mode 100755 .ci/freebsd-setup.sh
> create mode 100644 .cirrus.yml
>
> diff --git a/.ci/freebsd-build.sh b/.ci/freebsd-build.sh
> new file mode 100755
> index 0000000000..099f9fd448
> --- /dev/null
> +++ b/.ci/freebsd-build.sh
> @@ -0,0 +1,5 @@
> +#!/bin/sh
> +
> +cd build
> +ninja
> +meson install
> diff --git a/.ci/freebsd-setup.sh b/.ci/freebsd-setup.sh
> new file mode 100755
> index 0000000000..762a8383c3
> --- /dev/null
> +++ b/.ci/freebsd-setup.sh
> @@ -0,0 +1,3 @@
> +#!/bin/sh
> +
> +meson setup build
> diff --git a/.cirrus.yml b/.cirrus.yml
> new file mode 100644
> index 0000000000..727dcb14f4
> --- /dev/null
> +++ b/.cirrus.yml
> @@ -0,0 +1,33 @@
> +freebsd_build_task:
> +
> + freebsd_instance:
> + matrix:
> + image_family: freebsd-15-0-snap
> + image_family: freebsd-14-2-snap
> + cpu: 4
> + memory: 4G
> +
> + env:
> + DEPENDENCIES: git gcc wget openssl python3 meson pkgconf
> + PY_DEPS: pyelftools
> + matrix:
> + COMPILER: gcc
> + COMPILER: clang
> +
> + prepare_script:
> + - sysctl -w kern.coredump=0
> + - pkg update -f
> + - pkg install -y ${DEPENDENCIES}
> + $(pkg search -xq "^py3[0-9]+-(${PY_DEPS})-[0-9]+" | xargs)
> + - mkdir -p /usr/src
> + - git clone --depth 1 https://git.freebsd.org/src.git /usr/src
>
> Sorry, do you mind explaining why this is needed? And should it be cloning to main or to the latest LTS tag? I think I am ignorant of what is
> required for your build process.
[1933/1938] Generating kernel/freebsd/contigmem with a custom command
FAILED: kernel/freebsd/contigmem.ko
/usr/bin/make -f ../kernel/freebsd/BSDmakefile.meson KMOD_OBJDIR=kernel/freebsd KMOD_SRC=../kernel/freebsd/contigmem/contigmem.c KMOD=contigmem 'KMOD_CFLAGS=-I/tmp/cirrus-ci-build/build -I/tmp/cirrus-ci-build/config -include rte_config.h' CC=clang
make: "/usr/share/mk/bsd.sysdir.mk" line 16: Unable to locate the kernel source tree. Set SYSDIR to override.
in /usr/share/mk/bsd.kmod.mk:4
in ../kernel/freebsd/BSDmakefile.meson:18
without this, no contigmem support.
> +
> + configure_script:
> + - ./.ci/freebsd-setup.sh
> +
> + build_script:
> + - ./.ci/freebsd-build.sh
> +
> + check_script:
> + - meson test -C build --suite fast-tests -t 3
>
> You might be interested in this thread: https://bugs.dpdk.org/show_bug.cgi?id=761
>
> See Cody's comment from last April about unit tests being broken on FreeBSD 13.0 and 14.0. My recollection is that there is no volunteer to
> resolve these issues currently, which is why we are not targeting unit tests for FreeBSD at the Community Lab - only build tests.
Hrrm... that's an interesting issue. We probably do need some eyeballs
on the FreeBSD support side.
Thanks for taking a look.
> + || { cat ./build/meson-logs/testlog.txt; exit 1; }
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b86cdd266b..ed1df17f3c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -142,6 +142,7 @@ M: Aaron Conole <aconole@redhat.com>
> M: Michael Santana <maicolgabriel@hotmail.com>
> F: .github/workflows/build.yml
> F: .ci/
> +F: .cirrus.yml
>
> Driver information
> M: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> --
> 2.47.1
>
> Looks like it makes sense overall, thanks.
>
> Reviewed-by: Patrick Robb <probb@iol.unh.edu>
prev parent reply other threads:[~2025-02-05 21:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-04 16:07 Aaron Conole
2025-02-04 17:33 ` Patrick Robb
2025-02-05 21:20 ` Aaron Conole [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7ta5b0f5qi.fsf@redhat.com \
--to=aconole@redhat.com \
--cc=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=maicolgabriel@hotmail.com \
--cc=probb@iol.unh.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).