[petsc-dev] builds of PETSc based packages should not get their own secret files
Satish Balay
balay at mcs.anl.gov
Tue Jan 5 17:11:05 CST 2021
On Tue, 5 Jan 2021, Barry Smith wrote:
>
>
> > On Jan 5, 2021, at 8:28 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> >
> > Well we have to look at artifacts for configure.log. Why is this more of a burden for slepc or externalpackage logs?
>
> Some of the "artifacts" don't even exist to look at as artifacts; for example slepc4py log files. And if we continue with the current model more and more "artifacts" won't exist unless we add them (and we will forget to add them). I am fine with the output being in configure.log (as is the case for configures on external packages) or in make.log, it doesn't have to be in the CI console window, but it can't be scattered in dozens of files.
We've never saved config.log [or equivalent] for all externalpackages [build either during configure or after petsc]
Currently we just save the build logs [to either configure.log - for packages that are built during configure, or to PETSC_ARCH/lib/petsc/conf - for packages that are built after petsc.
If we can add config.log [or equivalent] for all externalpackages to some log file - or to PETSC_ARCH/lib/petsc/conf - that would be fine [and can be added to artifacts].
[currently make.log equivalent that we dump into configure.log is a bad format - stdout and stderr separated - so hard to co-relate errors to the commands invoked]
BTW: One of the reasons we had separate petsc4py.log and slepc.py log was we wanted make.log clean for our users - so that the commands we recommend [for subsequent steps] are not easily ignored.
[anything on stdout for CI will also be on stdout for users]
Satish
>
>
> >
> > Whatever you say for slepc log applies for configure.log. If its only CI issue - and you want all logs on STDOUT - then you can modify .gitlab-ci.yml. Perhaps:
> >
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 8f3d139235..f9cdd38abd 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -70,6 +70,7 @@ check-ci-settings:
> > after_script:
> > - date
> > - ccache --show-stats
> > + - more arch-*/lib/petsc/conf/*.log |cat
> > artifacts:
> > reports:
> > junit: arch-*/tests/testresults.xml
> >
> > Satish
> >
> >
> > On Mon, 4 Jan 2021, Barry Smith wrote:
> >
> >>
> >> For packages that are built after PETSc configure (and or install is done) slepc, hpddm etc we've traditional saved the output in its own file stashed away somewhere.
> >>
> >> For the CI this is driving me nuts because when they fail the output is essentially "lost" and thus it is impossible to determine what has gone wrong.
> >>
> >> I have started to directly output in the same stream as the PETSc compiles to make debugging much easier. Generally the packages are relatively small and don't have a huge amount of output when compiling correctly. I did it for PETSc4py and SLEPc (slepc4py is a mystery yet how it get's hidden in slepc).
> >>
> >> Are there any large downsides to this plan?
> >>
> >> Barry
> >>
> >>
> >
>
More information about the petsc-dev
mailing list