diff mbox series

[for-4.20,v2,2/2] automation/cirrus-ci: introduce FreeBSD randconfig builds

Message ID 20250116135957.80826-1-roger.pau@citrix.com (mailing list archive)
State New
Headers show
Series None | expand

Commit Message

Roger Pau Monné Jan. 16, 2025, 1:59 p.m. UTC
Add a new randconfig job for each FreeBSD version.  This requires some
rework of the template so common parts can be shared between the full and
the randconfig builds.  Such randconfig builds are relevant because FreeBSD
is the only tested system that has a full non-GNU toolchain.

While there replace the usage of the python311 package with python3, which is
already using 3.11, and remove the install of the plain python package for full
builds.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 .cirrus.yml | 67 ++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 51 insertions(+), 16 deletions(-)

Comments

Andrew Cooper Jan. 16, 2025, 2:02 p.m. UTC | #1
On 16/01/2025 1:59 pm, Roger Pau Monne wrote:
> Add a new randconfig job for each FreeBSD version.  This requires some
> rework of the template so common parts can be shared between the full and
> the randconfig builds.  Such randconfig builds are relevant because FreeBSD
> is the only tested system that has a full non-GNU toolchain.
>
> While there replace the usage of the python311 package with python3, which is
> already using 3.11, and remove the install of the plain python package for full
> builds.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

That looks cleaner, and likely to have better longevity.  Thanks.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Roger Pau Monné Jan. 16, 2025, 2:13 p.m. UTC | #2
On Thu, Jan 16, 2025 at 02:02:38PM +0000, Andrew Cooper wrote:
> On 16/01/2025 1:59 pm, Roger Pau Monne wrote:
> > Add a new randconfig job for each FreeBSD version.  This requires some
> > rework of the template so common parts can be shared between the full and
> > the randconfig builds.  Such randconfig builds are relevant because FreeBSD
> > is the only tested system that has a full non-GNU toolchain.
> >
> > While there replace the usage of the python311 package with python3, which is
> > already using 3.11, and remove the install of the plain python package for full
> > builds.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> That looks cleaner, and likely to have better longevity.  Thanks.
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Forgot to Cc Oleksii on the patches, as I would like a Release-Ack.

Thanks, Roger.
Oleksii Kurochko Jan. 17, 2025, 2:49 p.m. UTC | #3
On 1/16/25 3:13 PM, Roger Pau Monné wrote:
> On Thu, Jan 16, 2025 at 02:02:38PM +0000, Andrew Cooper wrote:
>> On 16/01/2025 1:59 pm, Roger Pau Monne wrote:
>>> Add a new randconfig job for each FreeBSD version.  This requires some
>>> rework of the template so common parts can be shared between the full and
>>> the randconfig builds.  Such randconfig builds are relevant because FreeBSD
>>> is the only tested system that has a full non-GNU toolchain.
>>>
>>> While there replace the usage of the python311 package with python3, which is
>>> already using 3.11, and remove the install of the plain python package for full
>>> builds.
>>>
>>> Signed-off-by: Roger Pau Monné<roger.pau@citrix.com>
>> That looks cleaner, and likely to have better longevity.  Thanks.
>>
>> Reviewed-by: Andrew Cooper<andrew.cooper3@citrix.com>
> Forgot to Cc Oleksii on the patches, as I would like a Release-Ack.

R-Acked-by: Oleksii Kurochko<oleksii.kurochko@gmail.com>

Thanks.

~ Oleksii

>
> Thanks, Roger.
diff mbox series

Patch

diff --git a/.cirrus.yml b/.cirrus.yml
index ee80152890f2..7216729b6993 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,34 +1,69 @@ 
 # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
-freebsd_template: &FREEBSD_TEMPLATE
+freebsd_13: &FREEBSD_13
+  freebsd_instance:
+    image_family: freebsd-13-4
+freebsd_14: &FREEBSD_14
+  freebsd_instance:
+    image_family: freebsd-14-2
+freebsd_15: &FREEBSD_15
+  freebsd_instance:
+    image_family: freebsd-15-0-snap
+
+freebsd_template: &FREEBSD_ENV
   environment:
     APPEND_LIB: /usr/local/lib
     APPEND_INCLUDES: /usr/local/include
 
+freebsd_full_build_template: &FREEBSD_FULL_BUILD_TEMPLATE
+  << : *FREEBSD_ENV
+
   install_script: pkg install -y seabios gmake ninja bash
-                                 pkgconf python bison perl5
+                                 pkgconf bison perl5
                                  yajl lzo2 pixman argp-standalone
-                                 libxml2 glib git python311
+                                 libxml2 glib git python3
 
   build_script:
     - cc --version
-    - export PYTHON=/usr/local/bin/python3.11
     - ./configure --with-system-seabios=/usr/local/share/seabios/bios.bin
     - gmake -j`sysctl -n hw.ncpu` clang=y
 
+freebsd_randconfig_template: &FREEBSD_RANDCONFIG_TEMPLATE
+  << : *FREEBSD_ENV
+
+  install_script: pkg install -y gmake python3 bison
+
+  build_script:
+    - cc --version
+    - gmake -j`sysctl -n hw.ncpu` -C xen clang=y \
+            KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
+    - gmake -j`sysctl -n hw.ncpu` build-xen clang=y
+
 task:
-  name: 'FreeBSD 13'
-  freebsd_instance:
-    image_family: freebsd-13-4
-  << : *FREEBSD_TEMPLATE
+  name: 'FreeBSD 13: full build'
+  << : *FREEBSD_13
+  << : *FREEBSD_FULL_BUILD_TEMPLATE
 
 task:
-  name: 'FreeBSD 14'
-  freebsd_instance:
-    image_family: freebsd-14-2
-  << : *FREEBSD_TEMPLATE
+  name: 'FreeBSD 14: full build'
+  << : *FREEBSD_14
+  << : *FREEBSD_FULL_BUILD_TEMPLATE
 
 task:
-  name: 'FreeBSD 15'
-  freebsd_instance:
-    image_family: freebsd-15-0-snap
-  << : *FREEBSD_TEMPLATE
+  name: 'FreeBSD 15: full build'
+  << : *FREEBSD_15
+  << : *FREEBSD_FULL_BUILD_TEMPLATE
+
+task:
+  name: 'FreeBSD 13: randconfig'
+  << : *FREEBSD_13
+  << : *FREEBSD_RANDCONFIG_TEMPLATE
+
+task:
+  name: 'FreeBSD 14: randconfig'
+  << : *FREEBSD_14
+  << : *FREEBSD_RANDCONFIG_TEMPLATE
+
+task:
+  name: 'FreeBSD 15: randconfig'
+  << : *FREEBSD_15
+  << : *FREEBSD_RANDCONFIG_TEMPLATE