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

git plugin 3.6.4 regression with shared libraries

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Component/s: git-plugin
    • Labels:
    • Environment:
      Jenkins ver. 2.73.3 running on docker (jenkins/jenkins:lts)
    • Similar Issues:

      Description

      Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which is not the last one of the branch.

      Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

      Behaviour of 3.6.3 (good one)

      Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
      > git rev-parse --is-inside-work-tree # timeout=10
      Setting origin to git@github.com:user/repo.git
      > git config remote.origin.url git@github.com:user/repo.git # timeout=10
      Fetching origin...
      Fetching upstream changes from origin
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
      > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
      > git rev-parse --is-inside-work-tree # timeout=10
      Fetching changes from the remote Git repository
      > git config remote.origin.url git@github.com:user/repo.git # timeout=10
      Fetching without tags
      Fetching upstream changes from git@github.com:user/repo.git
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
      Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
      > git config core.sparsecheckout # timeout=10
      > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
      Commit message: "Refactor developerPipeline.groovy"
      > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
      

      Behaviour of 3.6.4 (bad one)

      Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
      Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
      Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
      > git rev-parse --is-inside-work-tree # timeout=10
      Setting origin to git@github.com:user/repo.git
      > git config remote.origin.url git@github.com:user/repo.git # timeout=10
      Fetching origin...
      Fetching upstream changes from origin
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
      > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
      > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
      Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
      ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
      org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
      WorkflowScript: Loading libraries failed
      

      Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

      The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

      Steps to reproduce the issue

      1) Configure the shared libraries

      2) Use them with pipeline:

      @Library('xxx-jenkins-library@sha1_of_commit_which_is_not_the_last_one') _  
      
      

      3) Execute the pipeline and you should have the above output

      WORKAROUND: use git-plugin 3.6.3

        Attachments

          Issue Links

            Activity

            Hide
            diegor Diego Russo added a comment -

            All, thanks for your support and help in solving this ticket. Much appreciated.

            Show
            diegor Diego Russo added a comment - All, thanks for your support and help in solving this ticket. Much appreciated.
            Hide
            markewaite Mark Waite added a comment -

            Included in git plugin 3.9.0 released 12 May 2018

            Show
            markewaite Mark Waite added a comment - Included in git plugin 3.9.0 released 12 May 2018
            Hide
            markewaite Mark Waite added a comment -

            Confirmed by testing a pre-release of git plugin 3.9.0 that the "modern Git" implementation is able to read Pipeline shared library references by SHA1.

            Confirmed by testing a pre-release of git plugin 3.9.0 that the "modern GitHub" implementation is unable to read Pipeline shared library references by SHA1. That was not intended to be covered in this fix, and is not covered in this fix.

            Confirmed by testing a pre-release of git plugin 3.9.0 that the "legacy Git" implementation is unable to read Pipeline shared library references by SHA1. That was not intended to be covered in this fix, and is not covered in this fix.

            Show
            markewaite Mark Waite added a comment - Confirmed by testing a pre-release of git plugin 3.9.0 that the "modern Git" implementation is able to read Pipeline shared library references by SHA1. Confirmed by testing a pre-release of git plugin 3.9.0 that the "modern GitHub" implementation is unable to read Pipeline shared library references by SHA1. That was not intended to be covered in this fix, and is not covered in this fix. Confirmed by testing a pre-release of git plugin 3.9.0 that the "legacy Git" implementation is unable to read Pipeline shared library references by SHA1. That was not intended to be covered in this fix, and is not covered in this fix.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Mark Waite
            Path:
            Jenkinsfile
            http://jenkins-ci.org/commit/hello-world-plugin/cd774efec0b23bea3ee49511b7893ebb6c363d50
            Log:
            Use JENKINS-48061-no-tag-no-branch branch in test Jenkinsfile

            *NOTE:* This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

            Functionality will be removed from GitHub.com on January 31st, 2019.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Mark Waite Path: Jenkinsfile http://jenkins-ci.org/commit/hello-world-plugin/cd774efec0b23bea3ee49511b7893ebb6c363d50 Log: Use JENKINS-48061 -no-tag-no-branch branch in test Jenkinsfile * NOTE: * This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/ Functionality will be removed from GitHub.com on January 31st, 2019.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Mark Waite
            Path:
            Jenkinsfile
            http://jenkins-ci.org/commit/hello-world-plugin/96ae30edf0efe2cd54b419c80815a41a60aa8e90
            Log:
            test JENKINS-48061 no tag, no branch

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Mark Waite Path: Jenkinsfile http://jenkins-ci.org/commit/hello-world-plugin/96ae30edf0efe2cd54b419c80815a41a60aa8e90 Log: test JENKINS-48061 no tag, no branch

              People

              • Assignee:
                rsandell rsandell
                Reporter:
                diegor Diego Russo
              • Votes:
                8 Vote for this issue
                Watchers:
                16 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: