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@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@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@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@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