Pull-Request Voting¶
This stage is executed for every pull-request.
For non-Docker builds it will execute the respective build (including unit tests, static checks, ...).
Build Tool not in the list?
For build tools which are currently not in the list a custom dockerImage can be used with a custom dockerCommand as per step buildExecute
For buildTool: docker a local Docker build will be executed in case a Docker deamon is available, if not buildTool: 'kaniko' will be used instead.
Advanced Pull-Request Voting¶
It is possible to trigger dedicated tests/checks
- pull request comments
- pull request labels
Following steps are currently supported
| step name | comment | pull-request label |
|---|---|---|
| karmaExecuteTests | /piper karma |
pr_karma |
| whitesourceExecuteScan | /piper whitesource |
pr_whitesource |
Stage Content¶
This stage comprises following steps which are activated depending on your use-case/configuration:
| step | step description |
|---|---|
| buildExecute | Triggers the build execution. |
| checksPublishResults | Publishes check results to Jenkins. It will always be active. |
| karmaExecuteTests | Executes karma tests. For example suitable for OPA5 testing as well as QUnit testing of SAP UI5 apps. This step is not active by default. It can be activated by: * using pull request comments or pull request lables (see Advanced Pull-Request Voting. * explicit activation via stage configuration. |
| mavenExecuteIntegration | Runs backend integration tests via maven in the module integration-tests/pom.xml |
| mavenExecuteStaticCodeChecks | Executes static code checks for Maven based projects. The plugins SpotBugs and PMD are used. |
| npmExecuteLint | Executes linting for npm projects. |
| npmExecuteScripts | Executes npm scripts to run frontend unit tests. If custom names for the npm scripts are configured via the runScripts parameter the step npmExecuteScripts needs explicit activation via stage configuration. |
| sonarExecuteScan | Executes a Sonar scan. |
| testsPublishResults | Publishes test results to Jenkins. It will always be active. |
| whitesourceExecuteScan | Executes a WhiteSource scan This step is not active by default. It can be activated by: * using pull request comments or pull request lables (see Advanced Pull-Request Voting. * explicit activation via stage configuration. |
Stage Activation¶
This stage will be active if any one of the following conditions is met:
- Stage configuration in config.yml file contains entries for this stage.
- Any of the conditions are met which are explained in the section Step Activation.
Step Activation¶
For this stage no conditions are assigned to steps.
Additional Stage Parameters¶
| name | mandatory | default | possible values |
|---|---|---|---|
buildTool |
no | docker, kaniko, maven, mta, npm |
|
script |
yes |
buildTool- Defines the build tool used.script- The common script environment of the Jenkinsfile running. Typically the reference to the script calling the pipeline step is provided with thethisparameter, as inscript: this. This allows the function to access thecommonPipelineEnvironmentfor retrieving, e.g. configuration parameters.
Configuration of Additional Stage Parameters¶
The stage parameters need to be defined in the section stages of config.yml file.