-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major
-
Component/s: pipeline-model-definition-plugin
In parallel stages .. when each individual stages have post block . the failure block execution is not working as expected
Sample pipeline script:
pipeline {
agent any
stages{
stage("initvar"){
steps{
script{
sh " echo initvars"
}
}
}
stage('Parallel Stage1'){
parallel {
stage("Stage1.1"){
steps{
script{
catchError(message: "stage1.1 failed ", stageResult: 'FAILURE'){
sh """
echo pass
"""
}
}
}
post{
failure{
echo "from stage 1.1"
}
}
} stage("Stage1.2"){
steps{
script{
catchError(message: "stage1.2 failed", stageResult: 'FAILURE'){
sh """
echo fail
exit 1
"""
}
}
}
post{
failure{
echo "from stage 1.2"
}
}
}
}
}
stage("Parallel Stage 2"){
parallel{
stage("Stage2.1"){
steps{
script{
catchError( message: "stage1.2 failed", stageResult: 'FAILURE'){
sh """
echo "new pass"
"""
}
}
}
post{
failure{
script{
echo "from stage 2.1"
}
}
}
}
stage("Stage 2.2"){
steps{
script{
catchError( message: "stage2.2 failed", stageResult: 'FAILURE'){
sh """
exit 1
"""
}
}
}
post{
failure{
script{
echo "from stage 2.2"
}
}
}
}
}
}
}
post{
always{
sh "echo always"
}
success{
script{
sh "echo success"
}
}
failure{
script{
sh "echo failure"
}
}
}
}
Here post failure block of stage 1.1 and 2.1 should not have been executed
Â
Jenkins version 2.190.2
Pipeline groovy 2.78
Pipeline: Basic Steps : 2.18