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
25 [GitHub Actions](https:
26 every time code is pushed to the `develop` branch on
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:
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.