EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS Core github CI
From: Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
To: Chris Johns <chrisj at rtems.org>
Cc: Core-talk <core-talk at aps.anl.gov>
Date: Wed, 15 Nov 2023 08:45:38 -0800
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.  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.


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


Replies:
Re: EPICS Core github CI Chris Johns via Core-talk
References:
EPICS Core github CI Chris Johns via Core-talk

Navigate by Date:
Prev: EPICS Core github CI Chris Johns via Core-talk
Next: Re: EPICS Core github CI Chris Johns 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  <20232024 
Navigate by Thread:
Prev: EPICS Core github CI Chris Johns via Core-talk
Next: Re: EPICS Core github CI Chris Johns 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  <20232024