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

git polling/web hooks will not start concurrent builds

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • core, git-plugin

      I need a web hook to be able to kick off concurrent builds. Whereas right now if a commit comes in to a job that is already building that commit will just be ignored and will never be built even if concurrent builds is turned on.

      In addition to web hooks not working when a job is already running. Polling will not even be attempted if a job is currently running. Which makes since for most builds, but not for builds with concurrent builds enabled.

          [JENKINS-26887] git polling/web hooks will not start concurrent builds

          Jeremiah Norris created issue -
          Jeremiah Norris made changes -
          Description Original: The main issue I'm trying to solve is I need a web hook to be able to kick off concurrent builds. Whereas right now if a commit comes in to a job that is already building that commit will just be ignored and will never be built.

          Essentially the why the current git activities work are a little unintuitive since they depend on a local git repository to be sitting in the workspace from a previous build.

          Instead when a new job is created that has a git repository listed in SCM a local repository should be immediately pulled to be used from polling and webhooks that is completely independant of the job workspace.

          There are probably more elegant or lightweight solutions to this issue to be explored. I want to see how much interest there is in this subject and if there is anyone more experienced who wants to contribute that would be great, but my team is in dire need of this so I will look into coding if no one else has value for a solution.
          New: The main issue I'm trying to solve is I need a web hook to be able to kick off concurrent builds. Whereas right now if a commit comes in to a job that is already building that commit will just be ignored and will never be built.

          Essentially the way the current git activities work are a little unintuitive since they depend on a local git repository to be sitting in the workspace from a previous build.

          Instead when a new job is created that has a git repository listed in SCM a local repository should be immediately pulled to be used for polling and web hooks that is completely independant of the job workspace.

          There are probably more elegant or lightweight solutions to this issue to be explored. I want to see how much interest there is in this subject and if there is anyone more experienced who wants to contribute that would be great, but my team is in dire need of this so I will look into coding it if no one else has value for a solution.
          Jeremiah Norris made changes -
          Link New: This issue is related to JENKINS-7423 [ JENKINS-7423 ]

          Jeremiah Norris added a comment - - edited

          linking an example of an issue this improvement aims to fix

          Jeremiah Norris added a comment - - edited linking an example of an issue this improvement aims to fix

          Mark Waite added a comment -

          The other work around offered in JENKINS-7423 says that a web hook will run concurrent builds if you select "Execute concurrent builds if necessary".

          I don't understand your statement that git activities depend on a local git repository in the workspace. The default (since git plugin 2.0) is to not require a local workspace for polling.

          Mark Waite added a comment - The other work around offered in JENKINS-7423 says that a web hook will run concurrent builds if you select "Execute concurrent builds if necessary". I don't understand your statement that git activities depend on a local git repository in the workspace. The default (since git plugin 2.0) is to not require a local workspace for polling.

          It will execute concurrent builds only if they are kicked off manually. If a build is already running and an new commit comes in to the repository and Jenkins gets notified via web hook Jenkins will just ignore it and continue running the current build instead of starting a concurrent build to build the new commit.

          Jeremiah Norris added a comment - It will execute concurrent builds only if they are kicked off manually. If a build is already running and an new commit comes in to the repository and Jenkins gets notified via web hook Jenkins will just ignore it and continue running the current build instead of starting a concurrent build to build the new commit.

          Also it looks like polling won't even be attempted if a build is already running. It doesn't take concurrent builds in to consideration at all.

          Jeremiah Norris added a comment - Also it looks like polling won't even be attempted if a build is already running. It doesn't take concurrent builds in to consideration at all.

          Jan Klass added a comment -

          I still don’t see why a polling workspace would be necessary.
          Most of the use-case described here seems like a bug report rather than an improvement.

          What are the actions to be taken that would make a workspace or repository clone necessary?

          Jan Klass added a comment - I still don’t see why a polling workspace would be necessary. Most of the use-case described here seems like a bug report rather than an improvement. What are the actions to be taken that would make a workspace or repository clone necessary?
          Jeremiah Norris made changes -
          Description Original: The main issue I'm trying to solve is I need a web hook to be able to kick off concurrent builds. Whereas right now if a commit comes in to a job that is already building that commit will just be ignored and will never be built.

          Essentially the way the current git activities work are a little unintuitive since they depend on a local git repository to be sitting in the workspace from a previous build.

          Instead when a new job is created that has a git repository listed in SCM a local repository should be immediately pulled to be used for polling and web hooks that is completely independant of the job workspace.

          There are probably more elegant or lightweight solutions to this issue to be explored. I want to see how much interest there is in this subject and if there is anyone more experienced who wants to contribute that would be great, but my team is in dire need of this so I will look into coding it if no one else has value for a solution.
          New: I need a web hook to be able to kick off concurrent builds. Whereas right now if a commit comes in to a job that is already building that commit will just be ignored and will never be built even if concurrent builds is turned on.

          In addition to web hooks not working when a job is already running. Polling will not even be attempted if a job is currently running. Which makes since for most builds, but not for builds with concurrent builds enabled.
          Summary Original: git polling/web hooks need to occur in a separate "polling workspace" New: git polling/web hooks will not start concurrent builds
          Jeremiah Norris made changes -
          Issue Type Original: Improvement [ 4 ] New: Bug [ 1 ]

            Unassigned Unassigned
            jjno91 Jeremiah Norris
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: