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

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



On Fri, 8 May 2026, Jan Beulich wrote:
> On 07.05.2026 23:44, Stefano Stabellini wrote:
> > On Thu, 7 May 2026, Jan Beulich wrote:
> >> On 07.05.2026 02:54, Stefano Stabellini wrote:
> >>> 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
> >>
> >> Well, I had it in use in
> >> https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2503967215
> >> but does that count, when the issue the change is for didn't really occur?
> >> For now I can't test the additions without having a way to trigger that
> >> symbol table issue (or any other problem at one of the linking stages).
> >> Short of artificially breaking things, that is.
> > 
> > Please break it on purpose. Just push to a temporary branch.
> > 
> > 
> >>>> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> >>
> >> Thanks, but the above wants clarifying first, and the below suggests you
> >> actually meant to take back the R-b.
> >>
> >>> 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
> >>
> >> I don't feel comfortable making such a change. Furthermore it's unrelated,
> >> as it would mean that on other build failures successfully created final
> >> binaries wouldn't be collected either (after all on x86 it may be only one
> >> of the two links that failed). Plus then it would likely want doing
> >> differently, by making the EXIT hook invoke a new
> >> collect_xen_intermediates(), leaving collect_xen_artefacts() unaltered
> >> (except for the xen-syms addition there)?
> > 
> > "trap collect_xen_artefacts EXIT" was just a quick suggestion to explain
> > the type of change that would be needed to make this work, because as I
> > understand it, it does not work now.
> > 
> > From your comment I don't understand if you think that the patch as is
> > would work as intended or you agree with my comment that it would not
> > work.
> 
> Given the -e passed to bash, I don't expect it to work as is. However, I
> question this behavior. Exiting on error may be okay for any of the
> preparatory commands, but exiting on failure of make feels dubious [1].
> Hence I'm unsure which way to deal with that aspect (i.e. I'd prefer to
> latch the main make's status, collect artifacts, and then exit the
> script with make's status).

I am OK with your preference.


> Somewhat related: Why is it that collect_xen_artefacts is invoked three
> times, rather than just once at the very bottom of the script? At which
> point it wouldn't even need to be a function.

There doesn't seem to be a good reason



> Jan
> 
> [1] E.g. a failed tools build may also be easier to analyze if the
> already built components (libraries in particular) were collected.
> 



 


Rackspace

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