scr icon indicating copy to clipboard operation
scr copied to clipboard

Add automated tests for various SCR builds

Open adammoody opened this issue 4 years ago • 10 comments

There are several different ways to build SCR, each with numerous configuration options. While it could be overkill to account for every possible combination, we should be sure it builds basic builds for each method (spack, CMake with separate components, CMake with release dist tarball).

We should also include specific build configurations that we know are important to key users.

adammoody avatar May 22 '21 01:05 adammoody

  1. Create release tarball of develop and test build from that release "dist" tarball:
cd dist
./builddist develop
mkdir temp
cd temp
tar -zxf ../scr-top-develop.tgz
cd scr-top-develop
mkdir build
cd build
cmake ..
make -j install
  1. Build of a release tarball as static only (no libscr.so, only libscr.a):
same as above
cmake -DBUILD_SHARED_LIBS=OFF ..

adammoody avatar Jun 09 '21 21:06 adammoody

@robertkb , I'd like to add a few more builds into our gitlab test suite. I've listed the first two above. I see our gitlab yaml file, and I can imagine adding those is straight-forward.

Do we have a write up on how to run and check the results of our gitlab tests?

I've not done that before.

adammoody avatar Jun 09 '21 21:06 adammoody

@robertkb , I've added you to this one, since you'll at least be involved. Though I don't mind taking a stab, and it would be good for me to learn the ropes of gitlab testing.

adammoody avatar Jun 10 '21 00:06 adammoody

I've got a dist tarball test in my source tree. I need to run through basic verification again, then put up a PR. The static-only test should be simple too.

robertkb avatar Jul 14 '21 17:07 robertkb

Thanks @robertkb

adammoody avatar Jul 15 '21 20:07 adammoody

@robertkb , do you have the PR ready to go on this one?

adammoody avatar Jul 27 '21 02:07 adammoody

Some tests are broken currently, but the PR is up. https://github.com/LLNL/scr/pull/415

robertkb avatar Jul 27 '21 21:07 robertkb

A complete list of compilers that are used within LC here: https://rzlc.llnl.gov/gitlab/wsc-dev-env/compilers

mcfadden8 avatar Sep 29 '21 17:09 mcfadden8

@adammoody do you think it's important to build shared libs and static libs separately? That is, one build does shared only, and a separate one does static only? Otherwise, it is possible to build both static and shared at the same time.

gonsie avatar Feb 11 '22 18:02 gonsie

I think we'll at least want a static-only build. A number of applications disable shared libs, and we've seen cases where our static-only build fails, but the shared+static build works. I think people who enable shared libs builds don't bother to also disable the static lib.

adammoody avatar Feb 11 '22 18:02 adammoody