It looks like we're trying to be too fancy with the apache Jenkins build job with rev-parse, reset, tags, or whatever we're doing there. Is the Jenkins job script in the project or does one need access to the Jenkins environment to make a change like this? Can we try this for the build job?
1. Blow away everything there. 2. Clone the repo. 3. Check out master (should be the default). 4. Check out to a new branch merge/thrift-precommit-460 (use the build number) - this will never get pushed 5. git fetch (the incoming branch) 6. git merge FETCH_HEAD, and assuming it succeeds: 7. Build the project and run tests. This will bypass any rev-parse and reset and tagging, and simply apply the incoming change to master and ensure it passes a build. The next build will, at step 1, eliminate whatever was there from the last build. What would be even better than item #1 is that if the build slave is a VM, you would take a snap of the VM before you start and roll back to the snap when you are done. That, or have the apache Jenkins build use a docker environment to run the build. - Jim -----Original Message----- From: Apache Jenkins Server [mailto:jenk...@builds.apache.org] Sent: Thursday, May 05, 2016 4:12 AM To: dev@thrift.apache.org Subject: Build failed in Jenkins: Thrift-precommit #460 See <https://builds.apache.org/job/Thrift-precommit/460/> ------------------------------------------ GitHub pull request #1,007 to apache/thrift [EnvInject] - Loading node environment variables. Building remotely on H11 (docker Ubuntu ubuntu yahoo-not-h2) in workspace <https://builds.apache.org/job/Thrift-precommit/ws/> Wiping out workspace first. Cloning the remote Git repository Cloning repository https://github.com/apache/thrift.git > git init <https://builds.apache.org/job/Thrift-precommit/ws/thrift> # > timeout=10 Fetching upstream changes from > https://github.com/apache/thrift.git > git --version # timeout=10 > git -c core.askpass=true fetch --tags --progress > https://github.com/apache/thrift.git +refs/heads/*:refs/remotes/origin/* > git config remote.origin.url https://github.com/apache/thrift.git # > timeout=10 > git config --add remote.origin.fetch > +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config > remote.origin.url https://github.com/apache/thrift.git # timeout=10 Fetching > upstream changes from https://github.com/apache/thrift.git > git -c core.askpass=true fetch --tags --progress > https://github.com/apache/thrift.git +refs/heads/*:refs/remotes/origin/* > git config core.sparsecheckout # timeout=10 > git checkout -f origin/master > # timeout=10 > git branch -a # timeout=10 > git rev-parse > remotes/origin/0.1.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.2.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.3.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.4.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.5.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.6.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.7.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.8.x^{commit} # timeout=10 > git rev-parse > remotes/origin/0.9.1^{commit} # timeout=10 > git rev-parse > remotes/origin/0.9.2^{commit} # timeout=10 > git rev-parse > remotes/origin/0.9.3^{commit} # timeout=10 > git rev-parse > remotes/origin/0.9.x^{commit} # timeout=10 > git rev-parse > remotes/origin/master^{commit} # timeout=10 > git rev-parse > remotes/origin/py-compiler^{commit} # timeout=10 > git checkout -b master > origin/master Opening connection Done: 0 Counting objects Done: 23 Finding sources Done: 23 Getting sizes Done: 18 Compressing objects Done: 10202 Writing objects Done: 23 remote: Resolving deltas remote: Updating references Merging refs/tags/changes/460 > git rev-parse refs/tags/changes/460^{commit} # timeout=10 FATAL: Command "git rev-parse refs/tags/changes/460^{commit}" returned status code 128: stdout: refs/tags/changes/460^{commit} stderr: fatal: ambiguous argument 'refs/tags/changes/460^{commit}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' hudson.plugins.git.GitException: Command "git rev-parse refs/tags/changes/460^{commit}" returned status code 128: stdout: refs/tags/changes/460^{commit} stderr: fatal: ambiguous argument 'refs/tags/changes/460^{commit}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1693) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1669) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1665) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1307) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:1319) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.revParse(CliGitAPIImpl.java:677) at hudson.plugins.git.GitAPI.revParse(GitAPI.java:316) at sun.reflect.GeneratedMethodAccessor200.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:608) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:583) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:542) at hudson.remoting.UserRequest.perform(UserRequest.java:120) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at ......remote call to H11(Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416) at hudson.remoting.UserResponse.retrieve(UserRequest.java:220) at hudson.remoting.Channel.call(Channel.java:781) at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:250) at com.sun.proxy.$Proxy131.revParse(Unknown Source) at org.jenkinsci.plugins.gitclient.RemoteGitImpl.revParse(RemoteGitImpl.java:555) at com.cloudbees.jenkins.plugins.git.vmerge.BuildChooserImpl.getCandidateRevisions(BuildChooserImpl.java:106) at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:951) at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1054) at hudson.scm.SCM.checkout(SCM.java:485) at hudson.model.AbstractProject.checkout(AbstractProject.java:1276) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) at hudson.model.Run.execute(Run.java:1738) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:410) [WARNINGS] Skipping publisher since build result is FAILURE [TASKS] Skipping publisher since build result is FAILURE Archiving artifacts Publishing Javadoc Update relevant JIRA issues is waiting for a checkpoint on Thrift-precommit #459 --------------------------------------------------------------------------------------- PRIVACY STATEMENT: This message is a PRIVATE communication. This message and all attachments are a private communication sent by SimpliVity and are considered to be confidential or protected by privilege. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the information contained in or attached to this message is strictly prohibited. Please notify the sender of the delivery error by replying to this message, and then delete it from your system. ---------------------------------------------------------------------------------------