[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] CI: collect certain intermediate files as artifacts



On Wed, 6 May 2026, Stefano Stabellini wrote:
> On Wed, 6 May 2026, Jan Beulich wrote:
> > When one of the linking passes fails, additional intermediate files are
> > still in place. Having them available for analysis of the underlying
> > problem can be pretty helpful. Collect some into a new intermediates/
> > directory. (Nothing new will be collected if linking succeeds.)
> > 
> > While there also make sure xen-syms is collected (into binaries/). This
> > is rather more useful for analysis of possible problems than its stripped
> > counterpart.
> > 
> > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> > ---
> > As the issue this is meant to help with didn't re-occur with this in
> > place, the new logic wasn't really tested yet.
> 
> It looks OK but please provide a link to a successful pipeline
> 
> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>

Actually, I see that the build script is run with bash -ex so I wonder
if collect_xen_artefacts would even run if make fails. I think we need: 

trap collect_xen_artefacts EXIT


> > --- a/automation/gitlab-ci/build.yaml
> > +++ b/automation/gitlab-ci/build.yaml
> > @@ -6,6 +6,7 @@
> >    artifacts:
> >      paths:
> >        - binaries/
> > +      - intermediates/
> >        - xen-config
> >        - xen-cppcheck.txt
> >        - '*.log'
> > --- a/automation/scripts/build
> > +++ b/automation/scripts/build
> > @@ -41,18 +41,24 @@ fi
> >  # to exit early -- bash is invoked with -e.
> >  cp xen/.config xen-config
> >  
> > -# Directory for the artefacts to be dumped into
> > -mkdir -p binaries
> > +# Directories for the artefacts to be dumped into
> > +mkdir -p binaries intermediates
> >  
> >  collect_xen_artefacts()
> >  {
> >      local f
> >  
> > -    for f in xen/xen xen/xen.efi; do
> > +    for f in xen/xen xen/xen-syms xen/xen.efi; do
> >          if [[ -f $f ]]; then
> >              cp $f binaries/
> >          fi
> >      done
> > +
> > +    for f in xen/.xen-syms.* xen/.xen.efi.*; do
> > +        if [[ -f $f ]]; then
> > +            cp $f intermediates/
> > +        fi
> > +    done
> >  }
> >  
> >  if [[ "${CPPCHECK}" == "y" ]] && [[ "${HYPERVISOR_ONLY}" == "y" ]]; then
> > 
> 



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.