Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-10677

Gitlab "files-changed" matching limited by Merge Request diff API limitations

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • Pipelines 1.22, Pipelines 1.21
    • Pipelines as Code
    • 2
    • False
    • Hide

      None

      Show
      None
    • False
    • Customer Reported

      Description of problem:

      When a Gitlab Merge Request exceeds the Gitlab instance's Diff Limits checks such as "some/path".pathChanged() or files.all.any(f, f.matches(".tekton/")) do not compare against any changed files in excess of the Diff Limit.

      Workaround

      The only workaround is to split up the Merge Request

      Prerequisites (if any, like setup, operators/versions):

      Steps to Reproduce

       # <steps>

      • In a repository, write a pipelinerun that triggers on the CEL expression size(files.all) > 3000
      • Create a Gitlab Merge request which updates more 3k files
         

        Actual results:

        The pipelinerun is not triggered

        Expected results:

        The pipelinerun is triggered

        Reproducibility (Always/Intermittent/Only Once):

        Always

        Acceptance criteria: 

        The PipelineRun should match and start the pipelinerun

       

      Definition of Done:

      Build Details:

      Additional info (Such as Logs, Screenshots, etc):

      This can be worked around by switching from the MergeRequestDiffs API to using the Repository-Compare API. The consequence though is that the compare API does not page; it sends the entire diff. This may cause memory issues for very large changes. When using the Compare API the comparison should be from the target branch to /refs/merge-requests/<id>/head or the commit sha. The commit sha doesn't "exist" on the repo but appears to still work during comparison.

              rh-ee-athorp Andrew Thorp
              rh-ee-athorp Andrew Thorp
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: