1 Automated builds and checks {#autobuild}
2 ===========================
4 The %IMP code is automatically tested
for consistency and stability in a number
9 %IMP is built nightly from source code on a variety of different machines
10 in the Sali lab, and in several different configurations, and all the test
11 cases, examples, and benchmarks run. This aims to detect problems with
new
12 code relatively quickly. See the
13 [nightly build status page](https:
14 for latest results. This is done
for the head of the `develop` branch of the
15 code in the [GitHub](https:
16 stable release is in preparation,
this is also done
for the corresponding
17 `release/x.y.z` branch and also
for the `
main` branch once the
new release
18 is merged there. Results
for these branches can also be viewed at the nightly
19 build state page by selecting the branch from the dropdown at the top left
24 A subset of the %IMP code is built
using
26 the `develop` branch on [GitHub](https:
27 is built because building all of %IMP would exceed Travis CI
's time limits.)
28 This is helpful to quickly detect compilation errors.
32 The entire %IMP code is periodically subjected to static code analysis
33 using [Coverity](https://scan.coverity.com/projects/salilab-imp). This is
34 useful to detect some types of coding errors, such as buffer overflows.
36 The Coverity scan is not currently completely automated, since the compilation
37 is quite expensive and Coverity imposes strict limits on the frequency of
38 builds. It is currently run manually on an older Mac running OS X 10.6 (the
39 newer Macs in the Sali lab use the `clang` compiler, which Coverity doesn't
40 support, and the build takes a really
long time on a Linux box).
42 Note that Coverity currently reports a rather high defect density
for %IMP.
43 Many of these are
false positives -
for example, Coverity complains about
44 all of the [geometric primitives](@ref geometricprimitives) not being
45 initialized, but
this is intentional.