Functions

The AbsInt a³ plugin for Jenkins performs the following functions:

It transparently invokes the a³ (AbsInt Advanced Analyzer) tool during your build. It can fail the build if expectations in the analysis results are violated. It can fail the build if warnings resp. errors are detected during analysis (optionally). It prints a compact result table and lists failed analysis items. It can generate an a³ analysis workspace to investigate the analysis results later interactively. It can copy the complete analysis reports and results into Jenkins workspace. It collects the specified analysis HTML-Report files into Jenkins workspace and directly links them from console output.

a path where the a³ installer packages are stored. The plugin will identify the corresponding installer for your target CPU with the highest build number, copy & unpack that into the Jenkins workspace so that you do not have to install an a³ copy on every jenkins node.

( In both cases you may use environment variables like ${ALAUNCHER_DIR} which you can set on every jenkins node individually! ).

Optionally: Provide the server address/name for the AbsInt License Manager (ALM) with it's port. This complements the non-installation variant (see 2. above) for a³ in a perfect way.

Job Setup and Project Configuration Settings

Create the job, by creating it from scratch or copying from an existing job.

Under Build actions, check ‘a³ Analysis Run.’

Basic Settings

Select the a³ analysis project file (with .apx suffix) that shall be analyzed at the end of the build process.

You may restrict the analysis to the list of given analysis IDs (comma separated). The specified analysis IDs must be part of the a³ analysis project. (optional)

The build will always fail if at least one expectation specified in the a³ analysis project was violated. Note that if there is no expectation specified in an analysis ID, it's expectation always succeeds.

Additionally you may let the build fail depending on the projects '''Pedantic Level'''. You can chose from the following options:

Options

You may want to export an a³ analysis workspace to either the Jenkins workspace directory or to the analysis project directory.

You may want to optionally copy the a³ analysis report file to the Jenkins project workspace. File will be named as '''a3-report-b<BUILDNUMBER>-copy.txt'.

You may want to optionally copy the a³ analysis XML result file to the Jenkins project workspace. File will be named as '''a3-xml-result-b<BUILDNUMBER>-copy.xml'.

You may want to skip the a³ analysis run to temporarily deactivate the a³ analysis build step (for debugging).

Now start your build. After the build has completed, a summary with the analysis results will be printed to the console output in Jenkins. The analysis project report and XML result file can be found at the location specified in the a³ analysis project (.apx) file or alternatively in the Jenkins project workspace.

Troubleshooting

When you encounter problems while using the plugin, please provide the following information:

The error message from the Console Output.

The Jenkins server log file (the location is dependent on the container you use)

The content of ‘Manage Jenkins > System Information’ (Jenkins root/systemInfo)

The configuration file for the job (Jenkins root/jobs/job name/config.xml)

The global configuration file for Jenkins (Jenkins root/config.xml)

The a³ analysis report and XML result file (if available).

In case of problems while saving the job configuration, a screenshot before submitting, the error message afterwards and the browser you are using.

Known Issues

Upgrading

When upgrading, make sure that all jobs using the a³ plugin are finished and not running during upgrade. For best results, restart your Jenkins after upgrade.