[petsc-dev] Getting .gitlab.ci file out of repository? https://docs.gitlab.com/ee/ci/pipelines/settings.html
Satish Balay
balay at mcs.anl.gov
Tue Jun 23 10:29:47 CDT 2020
On Tue, 23 Jun 2020, Satish Balay wrote:
> On Tue, 23 Jun 2020, Satish Balay via petsc-dev wrote:
>
> > One way to do this is with redundancy [of machines - where same test would work on either machine] - which we don't have for all OSes..
>
> Just wanted to add - this was not easy to do even with linux or OSX.. [Windows is a different beast :(]
>
> With linux:
>
> - difference in hardware versions [different gen Intel CPUs] cause PGI test failures [when reusing petsc-hash-packages built on a slightly different version]
> - slight difference in software stack [- even with the same OS/version] causes gcov failures [when reusing petsc-hash-packages built on a slightly different version]
>
> With OSX - For some reason Apple decides to have slightly different version of compilers on each of the boxes - even though I run updates at the same time..
>
> balay at sb /home/balay/tmp
> $ ssh ipro clang --version
> Apple clang version 11.0.3 (clang-1103.0.32.62)
> Target: x86_64-apple-darwin19.5.0
> Thread model: posix
> InstalledDir: /Library/Developer/CommandLineTools/usr/bin
> balay at sb /home/balay/tmp
> $ ssh jpro clang --version
> Apple clang version 11.0.3 (clang-1103.0.32.62)
> Target: x86_64-apple-darwin19.5.0
> Thread model: posix
> InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
> balay at sb /home/balay/tmp
> $ ssh kpro clang --version
> Apple clang version 11.0.0 (clang-1100.0.33.8)
> Target: x86_64-apple-darwin19.5.0
> Thread model: posix
> InstalledDir: /Library/Developer/CommandLineTools/usr/bin
> balay at sb /home/balay/tmp
> $
>
> And some (opt) test failed (or gave different results?) on of these boxes (jpro). The other one gets random <U+0000> errors (kpro)
>
> So i have some these tests bound to a machine instead of having them float between equivalent machines..
>
> I guess things can be improved by somehow deploying the exact same hardware, software etc, but then this reduces some of the test coverage.. [for ex: removing various linux OS variants - and using a single one]
>
> Different trade-offs that are already represented in current .gitlab-ci.yaml.
The other trade-off: the more machines for a given build [that don't share NFS or a common file system] => less petsc-package-cache reuse [i.e longer builds]
Satish
More information about the petsc-dev
mailing list