[PATCH] sb/set-builder: Fix staging and tar file generation with a single config build

Chris Johns chrisj at rtems.org
Fri Sep 30 07:30:04 UTC 2022


On 30/9/2022 5:01 pm, Christian MAUDERER wrote:
> Am 30.09.22 um 08:48 schrieb Chris Johns:
>> On 30/9/2022 4:08 pm, Christian MAUDERER wrote:
>>> Am 30.09.22 um 07:37 schrieb Chris Johns:
>>>> On 30/9/2022 3:33 pm, Christian MAUDERER wrote:
>>>>> Am 30.09.22 um 05:49 schrieb Chris Johns:
>>>>>> On 29/9/2022 9:50 pm, Chris Johns wrote:
>>>>>>> On 29/9/22 9:45 pm, Christian MAUDERER wrote:
>>>>>>>> Hello Chris,
>>>>>>>>
>>>>>>>> thanks for the quick patch. With this qemu and microblaze work again like
>>>>>>>> expected.
>>>>>>>>
>>>>>>>> I tested all tools starting with devel/* and from the ones that work only
>>>>>>>> devel/autotools-internal didn't generate a tar archive. But that one has a
>>>>>>>> comment "Do not use via the command line" in the bset file so that is most
>>>>>>>> likely fine.
>>>>>>>>
>>>>>>>> Some of other devel/* packages didn't build in my test setup, but I have
>>>>>>>> never
>>>>>>>> tested or used them before so that is probably a problem of my build
>>>>>>>> environment
>>>>>>>> or maybe a known bug.
>>>>>>>
>>>>>>> Thanks for the testing. I will push to the devel branch and 5.
>>>>>>>
>>>>>>
>>>>>> Tarfile creation is working however installing is not. I am working on fixing
>>>>>> this.
>>>>>>
>>>>>> Chris
>>>>>
>>>>> Sorry that I missed that. I only tried to generate the tar archives.
>>>>
>>>> Same. Testing a fix but it takes time to check properly.
>>>>
>>>> I am wondering if I can create a test mode in the deployment repo. The hard
>>>> part
>>>> is how to automatically check the build has worked.
>>>>
>>>> Chris
>>>
>>> I'm currently trying to create a basic CI/CD setup for testing our embedded
>>> brains patches using GitHub. At the moment it's still quite experimental and
>>> still a bit thrown together but it basically runs:
>>>
>>> https://github.com/embedded-brains/rtems-source-builder/actions/runs/3151126889
>>
>> Nice.
>>
>>> It didn't catch that bug because it doesn't use installed tools for the
>>> simulator runs, but maybe I can change that.
>>>
>>> If it works well enough, we maybe could re-use some scripts or work flows to set
>>> up an official RTEMS CI/CD with whatever community preferred CI system. It
>>> shouldn't be too big of a problem to port the logic to Gitlab CI, Cirrus CI or
>>> any other modern CI system.
>>
>> I have started https://git.rtems.org/chrisj/rtems-deployment.git/. I would like
>> it to be the landing place for this type of stuff if it fits. The repo is being
>> actively worked on by me.
> 
> I have seen that repo after you mentioned it recently, but I have to admit I
> haven't looked at it yet. From the name I have guessed that it is more for
> building release versions and not for continuous checks. I'll take a more
> detailed look.

CI is something that would come under deployment, it is the same process. In
your case the output is not used, it is for testing.

The repo can build buildsets that will fail and show them as a pass.

>> I can build RPMs on Rocky 8 and 9. These RPMs are the base for EPICS RPMs built
>> into docker containers used to build Gemini's EPICS based systems. All handled
>> via CI in gitlab.
> 
> That's quite interesting. Do you have a public GitLab instance where you build
> these or is that a private instance?

https://gitlab.com/nsf-noirlab/gemini/rtsw/epics-base/epics-base

> The rtems-deployment repo doesn't have a .gitlab-ci.yml. Did you keep that separate?
$ ./waf configure --prefix=/opt/rtems --rsb=../rtems-source-builder
$ ./waf rpmspec
$ rpmbuild -bb out/test/dtc.spec

$ rpm -qi \
 out/buildroot/RPMS/x86_64/rtems-dtc-5-ddfcc320ab74_modified.el9.x86_64.rpm
Name        : rtems-dtc
Version     : 5
Release     : ddfcc320ab74_modified.el9
Architecture: x86_64
Install Date: (not installed)
Group       : Unspecified
Size        : 1191613
License     : GPLv2, GPLv3, BSD-2
Signature   : (none)
Source RPM  : rtems-dtc-5-ddfcc320ab74_modified.el9.src.rpm
Build Date  : Friday 30 September 2022 05:24:31 PM
Build Host  : rocky.contemporary.net.au
Summary     : RTEMS tools and board support package
Description :
This RPM is development tools and BSP for RTEMS

If you switch the RSB branch from 6 to 5 the same process works. That is really
important because users do not need to update their plumbing.

Chris


More information about the devel mailing list