pipeline {
  agent {
    label "swarm"
  }
  parameters {
    string(
      name: "build_repo",
      defaultValue: "prod",
      description: "Repository to build from. If not presented - build will not run."
    )
    string(
      name: "service_update",
      defaultValue: "",
      description: "Services to update - i.e. node or/and node-api"
    )
  }
  stages {
    stage("Build") {
      when { 
        allOf {
          expression { build_repo != null }
          expression { not build_repo.empty }
        }
      }
      steps {
        echo "Building with repo $build_repo and updating $service_update"
        sh 'pwd'
      }
      post {
        always {
          echo "Step always"
        }
        changed {
          echo "Step change"
        }
        failure {
          echo "Step failure"
        }
      }
    }
  }
  post {
    always {
      echo "It's always good to be here."
    }
    changed {
      echo "Something changed..."
    }
    failure {
      echo "Oh, snap. It's failed again"
    }
    success {
      echo "Fine !!! It's SUCCESS !!!"
    }
    unstable {
      echo "Unstable ...."
    }
    aborted {
      echo "Hmmm... It's aborted"
    }
  }
}