On Mon, Sep 22, 2014 at 4:51 PM, Michael Vincent <[email protected]> wrote:

> I need to build every commit that gets submitted into a Gerrit repo
> (preferably in order).
>
> I have all the latest git/Gerrit plugins on the latest Jenkins 1.565.2
> LTS. Jenkins master is running on Linux and slave nodes are running on
> Windows 7 with msysgit-1.8.3. The Gerrit server is running 2.9.1.
>
> I've set up a job and set the Gerrit Trigger "Trigger on" field to "Ref
> Updated". The git plugin "Refspec" field is set to "$GERRIT_REFSPEC", the
> "Branches to build" field is set to "$GERRIT_NEWREV", and the "Choosing
> strategy" is set to "Gerrit Trigger".
>
> This works fine until multiple instances of this job get queued up, at
> which point it continues to just build the tip revision of the branch. This
> is particularly apparent if an older job is retriggered. Here's an example.
>
> The tip of "origin/master" is currently at 4d5f54f, but this job should
> be building 0af0a0f. Here are some of the Gerrit environment variables
> defined for the job:
>
> GERRIT_EVENT_TYPE ref-updated
> GERRIT_NEWREV     0af0a0fd5c533f258a18ea3bf72add14a3d43a3c
> GERRIT_OLDREV     57672ba6daa5674a561911706551e66b70a5c01a
> GERRIT_REFSPEC    refs/heads/master
>
> and the log output:
>
> Fetching changes from the remote Git repository
>  > C:\Program Files (x86)\Git\cmd\git.exe config remote.origin.url 
> ssh://gerrit/repo
> # timeout=10
> Fetching upstream changes from ssh://gerrit/repo
>  > C:\Program Files (x86)\Git\cmd\git.exe --version # timeout=10
> using GIT_SSH to set credentials id_dsa
>  > C:\Program Files (x86)\Git\cmd\git.exe fetch --tags --progress 
> ssh://gerrit/repo
> refs/heads/master
>
> *> C:\Program Files (x86)\Git\cmd\git.exe rev-parse "FETCH_HEAD^{commit}"
> # timeout=10Checking out Revision 4d5f54fe49ad4adbe8b494a9da3408f4206193a2
> (0af0a0fd5c533f258a18ea3bf72add14a3d43a3c)*
>  > C:\Program Files (x86)\Git\cmd\git.exe config core.sparsecheckout #
> timeout=10
>  *> C:\Program Files (x86)\Git\cmd\git.exe checkout -f
> 4d5f54fe49ad4adbe8b494a9da3408f4206193a2*
>  > C:\Program Files (x86)\Git\cmd\git.exe rev-parse "FETCH_HEAD^{commit}" #
> timeout=10
>  > C:\Program Files (x86)\Git\cmd\git.exe rev-list
> 0af0a0fd5c533f258a18ea3bf72add14a3d43a3c # timeout=10
>  > C:\Program Files (x86)\Git\cmd\git.exe remote # timeout=10
>  > C:\Program Files (x86)\Git\cmd\git.exe submodule init # timeout=10
>  > C:\Program Files (x86)\Git\cmd\git.exe submodule sync # timeout=10
>  > C:\Program Files (x86)\Git\cmd\git.exe config --get remote.origin.url #
> timeout=10
>  > C:\Program Files (x86)\Git\cmd\git.exe submodule update --init --
> recursive
>
> It looks like the Gerrit Trigger choosing strategy is checking out
> FETCH_HEAD even though I told it to check out "$GERRIT_NEWREV". I can
> work around this fairly easily by adding a "git checkout --force
> $GERRIT_NEWREV" command to the beginning of the build script, but it
> would be nice for the git/Gerrit plugins to handle this case. Is there
> something I should change in the job configuration or is this currently a
> plugin limitation?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

Haven't had much of an issue with our setup in that regard, but we use
$GERRIT_BRANCH for the Branch Specifier. Haven't tried $GERRIT_NEWREV yet
(no time to experiment at the moment) so can't speak to the difference
there.

ymmv
chanda

-- 
*C**onfidentiality Notice:* This e-mail, including all attachments, is
confidential information of Lytro, Inc. If the reader of this e-mail is not
the intended recipient or its authorized agent, the reader is hereby
notified that any dissemination, distribution or copying of this e-mail is
prohibited. If you have received this e-mail in error, please notify the
sender by replying to this message and delete this e-mail immediately.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to