Task #2899
Update testing matrix versions for GROMACS 2020 release
Description
This meta tasks collects a set of smaller tasks related to infrastructures. These should be stable preferably at least a month before the beta release (for which we now have a target).
We will consider updating the supported versions other important things (e.g. clang, gcc, CUDA, cmake) that come out after the date of that target. However no such changes will happen before the first beta, and we will plan/discuss/review them with a higher focus on stability of the code and and its functionality. For example, we have previously patched released versions to support CUDA versions that came out during the final stages of (or after) our release cycle.
TODO list
---------
Please add TODO items as you see new releases of things we test. Please discuss below if there's things we should start or stop doing.
- support clang 8 - Fix in gerrit
- update compilation matrix entries to clang 8 - fix in gerrit
- update ASAN/MSAN/TSAN matrix entries to clang 8 - fix in gerrit
- update to clang-tidy-8 - WIP
- update to clang-static-analyzer-8 - fix in gerrit
- support gcc 9 - fix in gerrit
- use clang-format - WIP, some progress in gerrit
Subtasks
Related issues
Associated revisions
Test specific hwloc versions
Now that releng understands the installed hwloc versions, we can
specify those in the matrix configurations. We can also specify that a
test configuration requires hwloc, but don't have to specify the
version. And we can leave it auto and provide a specific version of
the library to get detected automatically.
Refs #2899
Change-Id: I7f72b79746e77d04d9e2657b75821a8e3d62d83b
Update testing matrices and fix warnings
Updated to test gcc 9, clang 8, and cmake 3.15.1.
Also fixes for compilation with gcc 9 and clang 9 (still in release
candidate, not yet released)
Added a gmx_source_file_warning_suppression() CMake helper function
(like the recently introduced gmx_target_warning_suppression()) to
manage per-source-file suppressions. This is used to suppress a
warning about the abuse of t_inputrec that is too difficult to fix
without replacing all of the handling of initialization and broadcast
of t_inputrec and subfields.
Change-Id: I3a31a40c472d420adbb38d11ed5121702d7b3f7d
Modernize t_psdata
This is useful in itself, but mainly prepares to modernize other users
of t_rgb, which need it to have a constructor.
Also made a comment more neutral
Refs #2899
Change-Id: I1717c8c049f81c313c2b435f7d56b36a3f914551
Modernize t_matrix, t_mapping, t_rgb
This supports removing some manual string handling that regularly
troubles e.g. the static analyzer.
Made more use of vector, ArrayRef and ssize.
Stopped installing matio.h, because the transformation introduced
here was going to lead to many more files installed, and we anyway
plan to remove the serendipitous API that we have.
Refs #2899
Change-Id: Ia4c6a37d4f25dc2de93b06b2ffc46e2ddab96f39
Converted a CUDA config to use clang host-only compilation
This is distinct from the clang_cuda configuration because that one
uses clang also for device compilation. This one doesn't use the
modified build system, and will be easier to update when NVIDIA
support newer clang versions on Linux.
Refs #2899
Change-Id: I82bdf700c5553fcf367809209481ab4e27b037a2
History
#1 Updated by Mark Abraham almost 2 years ago
- Target version set to 2020-infrastructure-stable
#2 Updated by Eric Irrgang almost 2 years ago
- Related to Task #2831: Bump required version numbers of infrastructure for 2020 added
#3 Updated by Mark Abraham almost 2 years ago
- Related to Task #2905: Add a Jenkins configuration with std library assert added
#4 Updated by Mark Abraham over 1 year ago
- Description updated (diff)
#5 Updated by Mark Abraham over 1 year ago
- Status changed from New to In Progress
#6 Updated by Mark Abraham over 1 year ago
- Related to Task #3065: Agree and implement version support for GROMACS 2021 added
#7 Updated by Mark Abraham over 1 year ago
- Target version changed from 2020-infrastructure-stable to 2020-infrastructure-update-post-beta1
We plan to do several disruptive things alongside the beta release, including
- switch to clang-format
- adopt gitlab for CI
- remove \inpublicapi annotations on documentation
- move sim_util.cpp to its own module
- rename ArrayRef to span
- rename methods with view in the name that return span-like things to have span in the name (thus constPositionsSpan() and positionsSpan())
#8 Updated by Mark Abraham over 1 year ago
- Related to Task #3047: Set required versions for GROMACS 2021 added
#9 Updated by Mark Abraham over 1 year ago
Is there a plan for doing some of this?
#10 Updated by Paul Bauer about 1 year ago
- Status changed from In Progress to Resolved
I think this is now done
#11 Updated by Paul Bauer about 1 year ago
- Status changed from Resolved to Closed
Fix clang-tidy-7 issues
These are detected on the mac build agent, but weren't on a Linux one,
e.g. because there is a system xdr library found on Linux.
Refs #2899
Change-Id: I591fda21c718b3a76f1fe17962150421f85fce22