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

git plugin 2.5.2 breaks builds which use a narrow refspec but expect all refs were fetched

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: git-plugin
    • Labels:
      None
    • Environment:
      Ubuntu, Jenkins 1.656, VSphere plugin 2.53, Git plugin 2.5.1 or 2.5.2
    • Similar Issues:

      Description

      The git plugin is unable to find revisions to build in environments where the current user is not Jenkins.
      This problem was introduced in git 2.5.1, 2 releases, and was not present in the 2.5.0 release.

      On builds where the build user is not Jenkins (the slave is running as a different user), the job aborts due to git errors.
      e.g:
      14:48:47 Started by user jmellor
      14:48:47 Starting limited count build: 1
      14:48:47 [EnvInject] - Loading node environment variables.
      14:48:47 Building remotely on robot-testbuilder-1 (robot-testbuilder) in workspace /var/lib/jenkins/workspace/soc-dashboard_dev_nightly
      14:48:50 Wiping out workspace first.
      14:48:50 Cloning the remote Git repository
      14:48:50 Cloning repository ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git
      14:48:50 > /usr/bin/git init /var/lib/jenkins/workspace/soc-dashboard_dev_nightly # timeout=10
      14:48:50 Fetching upstream changes from ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git
      14:48:50 > /usr/bin/git --version # timeout=10
      14:48:50 > /usr/bin/git -c core.askpass=true fetch --tags --progress ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git refs/heads/develop
      14:49:13 > /usr/bin/git config remote.origin.url ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git # timeout=10
      14:49:14 > /usr/bin/git config --add remote.origin.fetch refs/heads/develop # timeout=10
      14:49:14 > /usr/bin/git config remote.origin.url ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git # timeout=10
      14:49:14 Fetching upstream changes from ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git
      14:49:14 > /usr/bin/git -c core.askpass=true fetch --tags --progress ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git refs/heads/develop
      14:49:14 > /usr/bin/git rev-parse origin/develop^

      {commit} # timeout=10
      14:49:14 > /usr/bin/git rev-parse develop^{commit}

      # timeout=10
      14:49:14 ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
      14:49:14 Retrying after 10 seconds
      14:49:24 Wiping out workspace first.
      14:49:24 Cloning the remote Git repository
      14:49:24 Cloning repository ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git
      14:49:24 > /usr/bin/git init /var/lib/jenkins/workspace/soc-dashboard_dev_nightly # timeout=10
      14:49:24 Fetching upstream changes from ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git
      14:49:24 > /usr/bin/git --version # timeout=10
      14:49:24 > /usr/bin/git -c core.askpass=true fetch --tags --progress ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git refs/heads/develop
      14:49:46 > /usr/bin/git config remote.origin.url ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git # timeout=10
      14:49:46 > /usr/bin/git config --add remote.origin.fetch refs/heads/develop # timeout=10
      14:49:46 > /usr/bin/git config remote.origin.url ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git # timeout=10
      14:49:46 Fetching upstream changes from ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git
      14:49:46 > /usr/bin/git -c core.askpass=true fetch --tags --progress ssh://jmellor@gerrit.internal:29418/socdash/soc-dashboard.git refs/heads/develop
      14:49:46 > /usr/bin/git rev-parse origin/develop^

      {commit} # timeout=10
      14:49:46 > /usr/bin/git rev-parse develop^{commit}

      # timeout=10
      14:49:46 ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.

      My current workaround is to revert all the way back to git plugin 2.4.4 (which I had laying around), and the fault does not exhibit anymore. This build is also known to have been working for months with the git plugin 2.5.0 release.

        Attachments

        1. gerrit-config.PNG
          gerrit-config.PNG
          14 kB
        2. Parameters.PNG
          Parameters.PNG
          13 kB
        3. slave-config.PNG
          slave-config.PNG
          26 kB
        4. slave-config.PNG
          slave-config.PNG
          26 kB

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                alt_jmellor John Mellor
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: