-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial Appveyor CI integration #2083
Conversation
@VictorLamoine why is this triggering a hook to your Appveyor account? 😅 Edit:
|
README.md
Outdated
@@ -14,6 +14,7 @@ Continuous integration | |||
[license]: https://github.com/PointCloudLibrary/pcl/blob/master/LICENSE.txt | |||
|
|||
[![Build Status](https://travis-ci.org/PointCloudLibrary/pcl.svg?branch=master)](https://travis-ci.org/PointCloudLibrary/pcl) | |||
[![Build Status](https://ci.appveyor.com/api/projects/status/PointCloudLibrary/pcl/branch/master?svg=true)](https://ci.appveyor.com/project/PointCloudLibrary/pcl) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to be updated later
Is it possible to test with multiple versions of Visual Studio? image:
- Visual Studio 2015
- Visual Studio 2017 (BTW: Currently, PCL can not be built with Visual Studio 2017 (15.3-15.4), because Visual C++ 2017 compiler have bug. It will be fixed in the next version (15.5). Please read this bug report.) |
No doubt. This should give you an idea of all you can do https://www.appveyor.com/docs/appveyor-yml/ |
.appveyor.yml
Outdated
- c:\tools\vcpkg\installed\ | ||
|
||
install: | ||
- vcpkg install boost eigen3 flann qhull |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If vcpkg update
is available, I think that it able to be add vtk to installation list.
vtk port stabilized with recent commits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The biggest struggle here is to manage to build everything under 1 hour. You might be able to do it, but we might not be able to perform the build job under that time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some dependent libraries of VTK port are optional now.
For example, Qt5 has become an option. It was took a lot of time to build.
Now, It is not necessary, because VTK port build without Qt5 by default.
Probably, It has cut down a lot of time.
Ok, right now if I add vtk as a dependency it fails because the link to libpng appears to be broken or down. I ran |
Sorry, AppVeyor seems that
|
I believe you need to add something like this before update:
|
Btw, we now have two webhooks into Appveyor, one from Jochen and one from Victor. We should clean this in the end. |
.appveyor.yml
Outdated
@@ -17,7 +14,6 @@ build: | |||
parallel: true | |||
|
|||
build_script: | |||
- cd c:\project\pcl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW this should be c:\projects\pcl
(plural)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. It never got there though 😢
I'm not gonna be doing anything more for the time being. The 2017 image is failing as expected. |
It seems that QHull installation step has failed on Visual Studio 2017 image. (In Visual Studio 2017 image, It should fail in PCL building step.) install:
+ - cd c:\tools\vcpkg
+ - git pull
+ - .\bootstrap-vcpkg.bat
- vcpkg install boost eigen3 flann qhull build_script:
+ - cd c:\projects\pcl
- MKDIR build
- CD build
- cmake -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake
-DPCL_SHARED_LIBS=ON
-DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=ON
-DPCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32=ON
-DPCL_NO_PRECOMPILE=ON
-DBUILD_simulation=ON
-DBUILD_global_tests=OFF
-DBUILD_examples=OFF
-DBUILD_tools=OFF
-DBUILD_apps=OFF
..
- cmake --build . --config Release |
We know that 2017 is gonna fail anyway, so 2015 is the only usable one for the time being. If I update vcpkg I'm not able to do anything with 2015 anymore. That's why I'm not updating it. |
Hmm, I tried the same version on local environment, but this problem could not be reproduced. |
@SergioRAgostinho I don't know why failed |
.appveyor.yml
Outdated
@@ -14,8 +18,9 @@ build: | |||
parallel: true | |||
|
|||
build_script: | |||
- MKDIR build | |||
- CD build | |||
- cd c:\projects\appveyor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- - cd c:\projects\appveyor
+ - cd c:\projects\pcl
58878f3
to
c899fdf
Compare
This CI seems to works properly. It is normal that build failed on Visual Studio 2017 image. |
(my perception may be wrong because I'm not familiar with linux...) vcpkg can specify x64 triplet ( install:
- cd c:\tools\vcpkg
- git pull
- .\bootstrap-vcpkg.bat
- vcpkg version
- - vcpkg install boost eigen3 flann qhull
+ - vcpkg install boost:x64-windows eigen3:x64-windows flann:x64-windows qhull:x64-windows In addition, It is necessary to specify x64 generator ( - image:
- - Visual Studio 2015
- - Visual Studio 2017 + environment:
+ matrix:
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
+ PLATFORM: x64
+ GENERATOR: "Visual Studio 14 2015 Win64"
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+ PLATFORM: x64
+ GENERATOR: "Visual Studio 15 2017 Win64" - - cmake -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake
+ - cmake -G"%GENERATOR%"
+ -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake
|
No worries, appveyor doesn't preserve cache between different environmental values. |
I had a second look into this and added a proper team account (at least I hope so). Please ping me, if I need to change anything. |
@jspricke Can you add me to the team account? My username in appveyor is also SergioRAgostinho. |
I updated the rights for all PCL Admins, ping me if you need more. |
I can't seem to restart/cancel jobs if needed and I know I can do that in my account for my personal fork. :/ |
FYI guys, you'll need to logout and login from appveyor to be able to admin the account. |
This is great! |
I think now it's a matter of finding a random commit in vcpkg's history in which all dependencies work properly :D |
I think so too. |
Can you help with me that Tsukasa? |
👍 The last patch sounds good to me. Do you have any idea why are we forcing the static linking of QHull on windows, in the first place? |
I don't know why PCL (currently version) always find static link library (qhullstatic.lib) of QHull on Windows. |
.appveyor.yml
Outdated
@@ -71,7 +70,7 @@ build_script: | |||
-DBUILD_simulation=ON | |||
-DBUILD_global_tests=OFF | |||
-DBUILD_examples=OFF | |||
-DBUILD_tools=OFF | |||
-DBUILD_tools=ON |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BUILD_tools will take a long time to build.
octree.begs [offset + i] = cell_begs[i]; | ||
octree.ends [offset + i] = cell_begs[i + 1]; | ||
octree.codes[offset + i] = parent_code_shifted + cell_code[i]; | ||
// octree.begs [offset + i] = cell_begs[i]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multitasking? 😆
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤦♂️
.appveyor.yml
Outdated
@@ -43,7 +43,9 @@ install: | |||
- set | |||
- cd c:\tools\vcpkg | |||
- git pull | |||
- git checkout 053f3ee32f309208ac3af9c71b95253d4a144436 | |||
# - git checkout 053f3ee32f309208ac3af9c71b95253d4a144436 | |||
- echo.set(VCPKG_BUILD_TYPE release)>> C:\Tools\vcpkg\triplets\%PLATFORM%-windows.cmake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you point at the source of this hint?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tip given here microsoft/vcpkg#143 (comment) by the maintainer (which was kind enough to commit this microsoft/vcpkg@5335d17 right before ^^)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh wow, cool!
190b0ba
to
15e92bc
Compare
This pull request microsoft/vcpkg#2258 has been merged. |
76ddbe8
to
c6031ba
Compare
@UnaNancyOwen is zlib working fine in your dev environment? I mean, can you download it and install it from vcpkg? |
@SergioRAgostinho |
Visual Studio 2017 15.5 has been released. |
8ddbf08
to
1c42bbc
Compare
This is good for merge now. Once the new visual studio is released to AppVeyor, uncomment the corresponding lines. |
LGTM 👍 @taketwo What do you think? |
.appveyor.yml
Outdated
- mkdir build | ||
- cd build | ||
- cmake -G"%GENERATOR%" | ||
-DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use %VCPKG_DIR%
here?
.appveyor.yml
Outdated
init: | ||
- cd %VCPKG_DIR% | ||
- git pull | ||
# - git checkout 94bd9dd66e9db88f965c8b270ea58f927685a317 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the intention to uncomment it later?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not this time. Just a left over.
1c42bbc
to
e290a23
Compare
Somewhere down the road we need to stop using this git pull/bootstrap strategy and just stick with the version provided by default in appveyor. The current strategy doesn't allow us to make use of the caching mechanisms implemented for vcpkg in appveyor. |
I shared this news to vcpkg team! |
It's far from mimicking what we have on Travis but it's always an additional check.
Closes #2078