Fix script building all CI containers and add gcovr
authorPaul Bauer <paul.bauer.q@gmail.com>
Mon, 21 Sep 2020 13:33:09 +0000 (13:33 +0000)
committerMark Abraham <mark.j.abraham@gmail.com>
Mon, 21 Sep 2020 13:33:09 +0000 (13:33 +0000)
Additions in 48f9056c196fda338b83e74212d4f9bc5ab3474e broke the script
by changing the default values, while
e9cb08d17b06bc5649d316ee06159b633db9b3d8 inadvertently made all images
use the oneapi images as base.

Also add gcovr tool to documentation images, preparing for coverage
builds.

Change-Id: I0eb9a3bf1e8b45dd4b4a3a41fd214678c4c1c4c2

admin/containers/buildall.sh
admin/containers/scripted_gmx_docker_builds.py
admin/containers/utility.py

index 1cbea0cad9fd61ca50604232f24650afbb6957c8..b9e20e8505bb754334e57b9eaeb5fec44e1ac9c3 100644 (file)
@@ -51,7 +51,7 @@ tags[${#tags[@]}]=$tag
 python3 $SCRIPT --cmake 3.17.2 --llvm --doxygen | docker build -t $tag -
 
 echo "Run the following to upload the updated images."
-echo docker login
+echo "docker login"
 for tag in "${tags[@]}"; do
-  echo docker push $tag
+  echo "docker push $tag"
 done
index 80f6425b2a7ec718f3c63df158be1350c6ceedea..af4aad09dad16502cebae9f356acd78295bbd344 100644 (file)
@@ -174,6 +174,7 @@ def get_llvm_packages(args) -> typing.Iterable[str]:
     # If we use the package version of LLVM, we need to install extra packages for it.
     if (args.llvm is not None) and (args.tsan is None):
         return ['libomp-dev',
+                'libomp5',
                 'clang-format-' + str(args.llvm),
                 'clang-tidy-' + str(args.llvm)]
     else:
@@ -475,7 +476,7 @@ def add_documentation_dependencies(input_args,
         return
     output_stages['main'] += hpccm.primitives.shell(
         commands=['sed -i \'/\"XPS\"/d;/\"PDF\"/d;/\"PS\"/d;/\"EPS\"/d;/disable ghostscript format types/d\' /etc/ImageMagick-6/policy.xml'])
-    output_stages['main'] += hpccm.building_blocks.pip(pip='pip3', packages=['sphinx==1.6.1'])
+    output_stages['main'] += hpccm.building_blocks.pip(pip='pip3', packages=['sphinx==1.6.1', 'gcovr'])
     if input_args.doxygen == '1.8.5':
         doxygen_commit = 'ed4ed873ab0e7f15116e2052119a6729d4589f7a'
         output_stages['main'] += hpccm.building_blocks.generic_autotools(
index c79c3144d5c1a43408988d4de7c9cfbebd05e550..edd65dfac5130b8192faeb6b0a84764be5b51c9c 100644 (file)
@@ -73,12 +73,13 @@ compiler_group.add_argument('--icc', type=int, nargs='?', const=19, default=None
 # TODO currently the installation merely gets the latest beta version of oneAPI,
 # not a specific version. GROMACS probably doesn't need to address that until
 # oneAPI makes an official release.
-compiler_group.add_argument('--oneapi', type=str, nargs='?', const="", default="2021.1-beta08",
+compiler_group.add_argument('--oneapi', type=str, nargs='?', const="2021.1-beta08", default=None,
                             help='Select Intel oneAPI package version.')
 
 linux_group = parser.add_mutually_exclusive_group()
-linux_group.add_argument('--ubuntu', type=str, nargs='?', const='20.04', default='20.04',
-                         help='Select Ubuntu Linux base image. (default: ubuntu 20.04)')
+# Ubuntu 20+ is not yet tested. See issue #3680
+linux_group.add_argument('--ubuntu', type=str, nargs='?', const='18.04', default='18.04',
+                         help='Select Ubuntu Linux base image. (default: ubuntu 18.04)')
 linux_group.add_argument('--centos', type=str, nargs='?', const='7', default=None,
                          help='Select Centos Linux base image.')