×
Find plugins

VectorCAST Execution0.33Minimum Jenkins requirement: 1.625.3ID: vectorcast-execution

View VectorCAST Execution on the plugin site for more information.

Create, delete and update Jobs for VectorCAST/Manage projects.

Summary

This plugin allows the user to create, delete and update Jobs to build and run VectorCAST projects. Coverage is displayed using the VectorCAST Coverage Plugin.

Jobs can be created as a single job or split into multiple jobs for a Manage project, with one job for each environment and an overall job to combine the results.

Usage

This plugin adds a new top-level menu item to the Jenkins sidebar.

that provides job control for VectorCAST/Manage projects

Job Types

There are 2 types of jobs

  • Single Job
  • Multi Job

Single Job

Single creates a single Jenkins job to build/execute and (optionally) report on all environments in a VectorCAST/Manage project.

Multi Job

Multi creates a top-level Jenkins job to combine the results from individual Jenkins jobs created for each environment in the VectorCAST/Manage project. The options for a multi-job are the same as for single apart from supplying a copy of the Manage project.

Jenkins jobs normally build and run in independent workspaces. This is the case with this integration. However, there are 2 options for running tests

  • Use an SCM system (any that is supported by Jenkins)
    • In this case, Jenkins will check out the code and tests into the workspace for each Jenkins job from your repository
    • The top-level job will them combine the coverage and test results from all these individual machines/nodes
    • In this case, the VectorCAST/Manage project should be specified as relative to the root of the checkout
    • Each job can optionally clean up the working directory. If the working directory is not cleaned, then the results from the previous run allow VectorCAST/Manage to optimise the execution phase based on any code changes
  • Use a common, shared drive/directory
    • In this case, the VectorCAST/Manage project should be specified as an absolute path that is available on all machines/nodes
    • Note: Some network drives/shares do not fully implement file locking which cause SQLite, used by VectorCAST/Manage, problems that can result in corruption of the results. If this happens, you may need to use a different network drive/share or consider using an SCM system.
    • Each job can optionally clean up the working directory which will have no effect on the VectorCAST/Manage project since it is located elsewhere
    • The reports are generated into the workspace and archived as part of the Jenkins job

Controlling Where Jobs Run

When using Multi Jobs, the jobs are created to run on specific nodes related to the compiler chosen for the environment. E.g.

Make sure to set the labels on the relevant Jenkins nodes. Manage Jenkins -> Manage Nodes -> configure appropriate node and set the ‘Labels’ field. In this example the labels have been set to GNU_Native_5.1_C and GNU_Native_4.8_C

Setup/Configuration

The requirements for using this plugin with VectorCAST are

  • VectorCAST needs to be installed and setup on each node to be used
    • VECTORCAST_DIR and VECTOR_LICENSE needs to be set correctly
  • Jenkins needs to be installed and setup
    • in particular BUILD_URL needs to be defined (in Jenkins->Manage Jenkins->Configure System and define 'Jenkins URL' and save the settings

Updating Existing Multi-job

An existing multi-job can be updated using the Update Multi-job setup manually, or by creating an auto-update multi-job Job. The auto-update job may require username/password to be supplied depending on your Jenkins configuration.

Known Issues

Colours not showing in downloaded VectorCAST reports

See Configuring Content Security Policy

"Jenkins 1.641 / Jenkins 1.625.3 introduce the Content-Security-Policy header to static files served by Jenkins (specifically, DirectoryBrowserSupport). This header is set to a very restrictive default set of permissions to protect Jenkins users from malicious HTML/JS files in workspaces, /userContent, or archived artifacts."

What this means is that the aggregate coverage report will show everything as black rather than red/green/amber coverage colours.

The link above gives details of how to configure Jenkins to relax its security.

Changelog

Version 0.33 (18 Jan 2018)

  • Don't create intermediate CSV file for bad test case management report

  • Raise post-groovy alert for bad test case management report

Version 0.32 (15 Jan 2018)

  • Improve support for unit without coverage, avoiding corrupt xml files

Version 0.31 (13 Dec 2017)

  • Removed spurious " in Linux single job
  • Corrected link from xUnit graph to report

Version 0.30 (5 Dec 2017)

  • Correct regression with report naming for archived artifacts with shorter names
  • Added environment variable (VCAST_VC_SCRIPTS) to provide optional source of vc_scripts

Version 0.29 (27 Nov 2017)

  • Improve support for long Manage project names, environment names and compiler names

Version 0.28 (2 Nov 2017)

  • Correct regresssion with windows variable names being used in Unix script

Version 0.27 (2 Nov 2017)

  • Correct regression with missing space in commands for single job

Version 0.26 (1 Nov 2017

  • Option to set the name of the single job or multi job (name is pre-pended to sub-job in the case of multi-jobs)
  • Option to configure (at creation/update time) the node to run the single job or top-level multi-job on
  • Allow license retries for single jobs
  • Update summaryt/detailed text written by the groovy scripts

Version 0.25 (26 Oct 2017)

  • Update to retry functionality to support jobs created with earlier plugin versions

Version 0.24 (25 Oct 2017)

  • Update to store and use job details when auto-updating
  • Added (optional) ability to retry a command if it fails due to unavailable license

Version 0.23 (17 Oct 2017)

  • Added a job that can be used to update an existing multi-job

Version 0.22 (26 Sept 2017

  • Added support for new version of VectorCAST Manage that uses 2 levels instead of 4

Version 0.21 (24 Jul 2017)

  • Improved groovy script to mark failing builds as failed rather than unstable

Version 0.20 (18 Jul 2017)

  • Allow conversion script to accept report that has a missing or incomplete Function Coverage column

Version 0.19 (23 Jun 2017)

  • Added --force option to use of --release-locks
  • Added option to use either HTML or TEXT format for the build description

Version 0.18 (20 Mar 2017)

  • Add execution report link to all test cases
  • Added update to pulling in both the full report and incremental build report into the job build description
  • Added update to pulling in both the full report and incremental build report into the job build description

Version 0.17 (17 Mar 2017)

  • Always display the VectorCAST menu and leave permission checking/reporting to Jenkins

Version 0.16 (15 Mar 2017)

  • Corrected processing checking if BUILD_URL has been set

Version 0.15 (2 Jan 2017)

  • Corrected processing to support function and function call coverage

Version 0.14 (16 Dec 2016)

  • Corrected typos in Diagnostics job and pattern for files to copy

Version 0.13 (14 Dec 2016)

  • Add support for spaces in paths

Version 0.12 (9 Dec 2016)

  • Add support to keep or clean the working directory

Version 0.11 (7 Dec 2016)

  • Support added for multi-job with SCM and for calculating correctly aggregated coverage for the top-level display in the VectorCAST coverage plugin

Version 0.10 (23 Nov 2016)

  • Initial release (no support for using SCM with multi-job)
ArchivesGet past versions
Labels