-
Notifications
You must be signed in to change notification settings - Fork 380
chore: improve ci #150
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
chore: improve ci #150
Conversation
message("Build shared library") | ||
set(BUILD_SHARED_LIBS OFF) |
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 looks very counter intuitive.
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.
Hahaha, but this is the key to packaging all the code into a dynamic library, which will help me perform black magic in golang.
Another very important benefit is that you don’t have to worry about what version of ggml (avx2? cuda? commit hash?) it is. You only need to replace the dynamic library. Ideally, I can just download the dynamic library in the desktop app. Errors about sd.cpp can be fixed without having to worry about other dynamic libraries.
Hi @leejet , I have completed the upgrade to ci. It's waiting to be merged. But one thing I want to explain is that this build logic contains some if judgment logic. They are ignored in this PR when the ci run, so there may be some problems when merged into the master. Of course I will follow up and make changes. |
Have you tested it in your master branch? |
@leejet Yes, I've tried this on my main branch, and with some adjustments, the build product is now being generated normally. |
I think it's best to include the cudart dependency for Windows in the packaged build, just like what llama.cpp did, as shown in https://github.com/ggerganov/llama.cpp/releases. |
There is another issue: |
The build products of CI are dynamic libraries and CLI programs. If the dynamic library does not expose the two functions sd_basename and preprocess_canny, they need to be migrated to the CLI program. |
There's certainly nothing wrong with that, I can make adjustments |
There is indeed an issue here. I merged the latest changes from the master branch and made some adjustments. |
https://github.com/Cyberhan123/stable-diffusion.cpp/releases/tag/master-346416b |
Great! Thank you for your contribution. |
This PR is mainly to improve the construction scope of ci, mainly for windows and mac. And I belive most of the people who use linux are developers, most of them are more professional than me.
There are also some reasons:
Of course, if someone is willing, they can continue to improve in subsequent PRs. I have no objection.