On 16/11/2023 3:45 am, Michael Davidsaver wrote:
> On 11/13/23 14:46, Chris Johns via Core-talk wrote:
>> Hello,
>>
>> At an EPICS meeting earlier this year there was a discussion about the CI
>> tooling for RTEMS builds. I would like to discuss and help plan moving the CI
>> tools for RTEMS to RTEMS 6.
>>
>> The RTEMS developers recommend moving to RTEMS 6 however Michael and Andrew
>> rightly pointed out it is not released. What is being offered is an interim
>> solution until it is released with the focus on establishing a tools and kernel
>> supply chain that makes upgrading simpler than it currently is.
>>
>> The ci-scripts README discusses support for RTEMS 5 and 10 BSPs. The move to
>> RTEMS 6 has extra dependencies that complicates building all the needed pieces.
>> The solution offered in the meeting was to use Gemini's infrastructure to build
>> containers with the suitable tools, BSPs and networking libraries installed. We
>> are working on this. The piece we need help with is the github CI integration. I
>> know very little about github and its CI interfaces.
>
> The current "interface" used by ci-scripts is downloading a .tar containing
> a pre-built toolchain and kernel libraries.
>
> https://github.com/epics-base/ci-scripts/blob/130e88b7095812da93e423c602651e30f39da11a/cue.py#L951-L980
>
> These .tar files are provided for pairs of RTEMS version and BSP. github.com
> is used for hosting of these fairly large files.
>
> https://github.com/mdavidsaver/rsb/releases/tag/4.9%2F20210306
>
> https://github.com/mdavidsaver/rsb/releases/tag/4.10%2F20210306
>
> https://github.com/mdavidsaver/rsb/releases/tag/5%2F20210306
>
> Now to be very clear. This is a statement of how things are now.
Understood. The RSB can generate tar files so we can always move back to this if
we find containers are a problem. And to be clear it is not my preferred path.
The RPM is built by running the RSB inside the rpm build command and having it
package the output. The key point is the configuration of what is built is in
the deployment repo and its vertical stack knowledge of the EPICS supported BSPs
is the important information.
> I would be
> quite happy to see these tar files replaced with OCI container images
> (aka. docker images) downloadable from a public server. Especially if
> produced by someone other than myself.
This is the approach we are planning on. The detail is not yet sorted and this
is where Felix can help. My knowledge of docker is limited.
Chris
>
>
>> Details
>>
>> Gemini's gitlab workflows use the rtems-deployment repo to build RPM packages
>> for specific configurations. I have defined an initial set of BSPs:
>>
>> https://git.rtems.org/chrisj/rtems-deployment.git/tree/config/epics
>>
>> This repo uses an RSB clone which defines the specific version of RTEMS. As a
>> result we can control the version of RTEMS built and we can add specific RPM
>> version settings to track what is installed in a container.
>>
>> The RPMs are installed into containers that can be used to build EPICS base.
>>
>> There are 2 RPMs built, one for the legacy networking stack and one for the
>> libbsd networking stack. Both RPMs contain the RTEMS net-services libraries for
>> things like NTP. The legacy stack supports NFSv2 and libbsd supports NFSv4.
>>
>> Status
>>
>> The building of the RPMs by Gemini is effected by the outage Gemini has and
>> Felix has been looking for ways to build without it but it is not easy and I ask
>> for your patience while we work through this.
>>
>> Questions, issues and suggestions are welcome
>>
>> Thanks
>> Chris
>
- References:
- EPICS Core github CI Chris Johns via Core-talk
- Re: EPICS Core github CI Michael Davidsaver via Core-talk
- Navigate by Date:
- Prev:
Re: EPICS Core github CI Michael Davidsaver via Core-talk
- Next:
Build failed: epics-base base-7.0-71 AppVeyor via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
<2023>
2024
- Navigate by Thread:
- Prev:
Re: EPICS Core github CI Michael Davidsaver via Core-talk
- Next:
Build failed: epics-base base-7.0-71 AppVeyor via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
<2023>
2024
|