Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-37323

Ensure that Pipeline Graph can handle stage blocks

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • blueocean-plugin
    • None
    • 1.0-pre-beta-1, 1.0-beta-1

      Vivek to add notes after meeting with Sam

          [JENKINS-37323] Ensure that Pipeline Graph can handle stage blocks

          James Dumay created issue -
          James Dumay made changes -
          Description New: Vivek to add notes after meeting with Sam
          James Dumay made changes -
          Link New: This issue is blocked by JENKINS-26107 [ JENKINS-26107 ]
          James Dumay made changes -
          Epic Link New: JENKINS-35759 [ 171771 ]
          James Dumay made changes -
          Sprint New: 1.0-beta-1 [ 96 ]
          James Dumay made changes -
          Priority Original: Minor [ 4 ] New: Critical [ 2 ]

          Vivek Pandey added a comment -

          jamesdumay Summary of discussion with Sam:

          Concerns:

          • With label block support there might be some steps out of stage blocks. Below 'echo 'I am not part of a stage' is not inside any stage, how does blueocean plans to present them for visualization? A virtual node (without label) to capture such hanging steps?
          stage('part-one') {
            echo 'I am part of a valid stage'
          }
          echo 'I am not part of a stage'
          stage('part-two') {
            echo 'I am part of a valid stage too!'
          }
          
          
          • Label Blocks support going to result in to support for nested stages, nested parallels. How does BlueOcean plans to handle them? There is also flattening of BO node, and they are listed to get logs for each steps. While nested stages can be treated as sequential BO nodes, however parallels nested inside branches might be tricky and a visualization scheme will make it easier for implementation. Or maybe these are edge cases and can be deferred for later BO API implementation.

          Vivek Pandey added a comment - jamesdumay Summary of discussion with Sam: Stage View pipeline to support Label Block Label block PR along with Stage View enhancements to release together, code completion in a week and week after release. https://github.com/jenkinsci/workflow-api-plugin/pull/6 where api implementation for walking is implemented https://github.com/jenkinsci/pipeline-stage-step-plugin/pull/4 where Label block is implemented https://github.com/jenkinsci/pipeline-graph-analysis-plugin implements timing analysis support, waiting to be released I am going to spend sometime next week to use workflow-api for blueocean use case to get any missing thing or any feedback to Sam before they are released. Concerns: With label block support there might be some steps out of stage blocks. Below 'echo 'I am not part of a stage' is not inside any stage, how does blueocean plans to present them for visualization? A virtual node (without label) to capture such hanging steps? stage( 'part-one' ) { echo 'I am part of a valid stage' } echo 'I am not part of a stage' stage( 'part-two' ) { echo 'I am part of a valid stage too!' } Label Blocks support going to result in to support for nested stages, nested parallels. How does BlueOcean plans to handle them? There is also flattening of BO node, and they are listed to get logs for each steps. While nested stages can be treated as sequential BO nodes, however parallels nested inside branches might be tricky and a visualization scheme will make it easier for implementation. Or maybe these are edge cases and can be deferred for later BO API implementation.

          James Dumay added a comment -

          vivek first concern is tracked in JENKINS-35836 - pretty low priority right now. On the second concern, I am not sure. Nested stages seems like a very bad idea - I haven't heard of a good case for it yet. michaelneale will follow up.

          James Dumay added a comment - vivek first concern is tracked in JENKINS-35836 - pretty low priority right now. On the second concern, I am not sure. Nested stages seems like a very bad idea - I haven't heard of a good case for it yet. michaelneale will follow up.

          James Dumay added a comment - - edited

          vivek for the moment can we ensure that block scoped stages work the same way as regular stages, except for the edge cases you described above?

          James Dumay added a comment - - edited vivek for the moment can we ensure that block scoped stages work the same way as regular stages, except for the edge cases you described above?

          Michael Neale added a comment -

          I am very keen on labelled block stages to NOT be nestable as I don't see why they should be.

          Michael Neale added a comment - I am very keen on labelled block stages to NOT be nestable as I don't see why they should be.

            vivek Vivek Pandey
            jamesdumay James Dumay
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: