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>
next prev parent reply other threads:[~2025-02-05 21:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-04 16:07 [RFC] ci: Add support for Cirrus-CI service to test FreeBSD Aaron Conole
2025-02-04 17:33 ` Patrick Robb
2025-02-05 21:20 ` Aaron Conole [this message]
2025-02-06 20:12 ` Patrick Robb
2025-09-03 9:49 ` David Marchand
2025-09-03 9:50 ` David Marchand
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.