Problems with building pull request merge
Hi, I am currently having a problem with AppVeyor failing a pull request build because it seems to not be merging the pull request to master correctly on the build server.
https://ci.appveyor.com/project/natsnudasoft/egamiflowscreensaver/b...
I can see that the merge has the correct files on GitHub as per the following link from the AppVeyor build:
https://github.com/natsnudasoft/EgamiFlowScreensaver/commit/63f64c8...
If I carry out the following commands over remote desktop the correct files are retrieved and build succeeds with the pull request correctly merged:
git clone -q https://github.com/natsnudasoft/EgamiFlowScreensaver.git C:\projects\egamiflowscreensaver2
cd C:\projects\egamiflowscreensaver2
git fetch -q origin +refs/pull/41/merge:
git checkout -qf FETCH_HEAD
However the build server files at C:\projects\egamiflowscreensaver do not seem to reflect the correctly merged pull request. The previous build of the branch of the pull request worked fine.
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Owen McDonnell on 25 Feb, 2019 11:40 PM
There can be other differences with pull request builds (unavailability of secure variables to name one) that could cause a previously successful build to fail.
What makes you certain that the merge is omitting certain files? You can use `type to check the contents of files you suspect to be different.
2 Posted by Adrian on 26 Feb, 2019 08:19 AM
It's not that the merging is omitting certain files, it's that it doesn't appear to be happening at all. When inspecting over RDP even though the build log shows that it has supposedly run a
git fetch -q origin +refs/pull/41/merge:
andgit checkout -qf FETCH_HEAD
running agit log
and looking at the files in the project folder, they are still only reflecting the state on the latest master commit and not the result of merging the pull request to master.As I say if I run those commands as in my first comment manually on the build server to a fresh directory (with the addition of the cd command which isn't shown on the build log) then all works fine.
What exactly do you mean when you say I can "use `type to check the contents of files you suspect to be different."?
3 Posted by Ilya Finkelshte... on 26 Feb, 2019 09:27 PM
Adrian,
Owen meant to run command
- type <path-to-file>
at some stage afterclone
, sayinstall
stage. This will print content of the file to the screen so we can compare some specific file content with what it supposed to be. I would recommend to run this command very first atinstall
stage, for cleaner experiment.Also I have to say that we have no other complains like this, though thousands of GitHub PRs build on AppVeyor every day. This should be something special. So let us please display some file content to understand the problem better.
Ilya.
4 Posted by Adrian on 27 Feb, 2019 11:50 PM
Hello,
Thanks to you all for your suggestions, I managed to diagnose this issue and track it down to
gitversion
pulling and overwriting the merge. Usingtype packages.config
before and after this command I could see that the files had changed.I believe I have solved this problem now and the issue can be closed.
Thank you all for your time,
Adrian.
5 Posted by Ilya Finkelshte... on 28 Feb, 2019 12:02 AM
Great, thanks for the update!
Ilya Finkelshteyn closed this discussion on 28 Feb, 2019 12:02 AM.