-
Notifications
You must be signed in to change notification settings - Fork 3
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
CREO2URDF – Add action for compile and load the dll on releases #52
Comments
Today I started this activity, but we need first to install visual studio on our self-hosted runner, it should be by any user (cc @davidelasagna) because when I try to install the dependencies I get this error:
Moreover, I was thinking about how to perform these steps: I don't know if it is ok every time to install vcpkg from scratch or if we can install it on the machine and simply use it updating the dependencies. Or maybe we could try with conda binaries? Do they exist compiled static? cc @traversaro |
No, only a subset of conda packages offer static packages on Windows, and anyhow we do not use simple static libraries, but a specific set of options (static with /MD if I recall correctly) so we need to use a package manager that builds from source for sure. In theory if we do not change the compiler vcpkg should have quite good caching support, so even if we reinstall everything from vcpkg at every step it should do it quite fast (except the first time). Note that if it is easier, we can just install vs build tools instead of the full visual studio. |
An alternative is to use vcpkg export or simply zip the vcpkg folder and upload it somewhere, as we did for the robotology-superbuild. |
In this sense do you adise to put the vcpkg in C:/users/Public instead of the GA workspace? Because I think that the workspace is cleaned up every run of the action |
Yes, keep things separated. Even if the workspace is retained, we may need to reinstall the self-hosted runner from scratch, deleting the GA workspace entirely. |
The cache location is independent from the vcpkg location, by default is outside of the GH workspace: https://learn.microsoft.com/en-us/vcpkg/consume/binary-caching-default?pivots=shell-cmd . |
The first run took 32 minutes to build the dependencies but now takes just 1 minute thanks to the cache, I am facing still some issues but cloning vcpkg from scratch seems the corret solution |
Today I stumbled in making the GA using the cmake embedded in visual studio, I put its path in PATH, in fact I can run it from powershell, but unfortunately I cannot see it inside the github action Github workspace
Powershell
I have to understand the github workspace is missing one piece of the PATH |
Bingo! I had to close the powershell where |
I finally managed to build The workstation was missing the I am getting strange linking warnings, that I am not sure I can ignore, but I think to have seen them before @mfussi66
And more similar, all related to the |
From https://learn.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-warning-lnk4286?view=msvc-170 it seems that the problem is in Creo code. |
To avoid unexpected failure in the CI, I suggest to fix the vcpkg version to a given commit, for example:
Otherwise, any run on the CI will potentially use a different version of vcpkg, resulting in unexpected failures. Ideally we may want to store the vcpkg version used inside the |
Closing in favour of: |
Great! |
It would be nice to have a github action that on release compile on a self-hosted runner the dll and load it as artifact of the release.
cc @pattacini @mfussi66 @traversaro
The text was updated successfully, but these errors were encountered: