Skip to content
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

Fix the CI builds #152

Merged
merged 35 commits into from Mar 7, 2023
Merged

Fix the CI builds #152

merged 35 commits into from Mar 7, 2023

Conversation

umireon
Copy link
Member

@umireon umireon commented Mar 1, 2023

I worked on the new CI system and got it to create the binaries for each platform.
Is there any possibility of merging my work?

Description

This PR will fix Windows and Linux builds.
Also it uses ExternalProject to build this plugin's own static libonnxruntime and static libopencv that is built with the minimal configuration provided in make sh.
macOS and linux builds don't need additional DLLs and Windows build needs DirectML.dll but it will be included into the bundle automatically.

* Add obs-plugintemplate files

* Rename

* Update CMakeLists.txt

* Update main.yml

* files

* Update CMakeLists.txt

* Fix

* Update .Brewfile

* Update main.yml

* Update main.yml

* check-cmake.sh

* Update main.yml

* Update main.yml
* BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* check-cmake

* Update main.yml

* Update buildspec.json

* Update CMakeLists.txt
* fix

* Update BuildMyOnnxruntime.cmake

* Enable arm64

* 0.5.2

* Update BuildMyOnnxruntime.cmake

* Update .Brewfile

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* fix

* Fix

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* a

* Create .gitmodules

* Create onnxruntime

* Update onnxruntime

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* fix

* Update BuildMyOnnxruntime.cmake

* ARCHITECTURE

* Apply

* Update BuildMyOnnxruntime.cmake

* fix

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* aaa
* Enable Windows build

* Update main.yml

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Fix linkage

* Remove /WX

* Update ObsPluginHelpers.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update CMakeLists.txt

* Fix

* Update CMakeLists.txt

* a

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Disable DML

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update background-filter.cpp

* Update BuildMyOnnxruntime.cmake

* Disable DML
* Update Model.h

* 0.5.6
* Ccache

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Revert "Update BuildMyOnnxruntime.cmake"

This reverts commit 44d9caa.

* Revert "Update BuildMyOnnxruntime.cmake"

This reverts commit 9294106.
* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* dml

* 0.5.7

* Update CMakeLists.txt

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* a

* Update main.yml

* Update BuildMyOnnxruntime.cmake

* Update main.yml

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Fix

* Update BuildMyOnnxruntime.cmake

* Update main.yml
* linux

* 0.5.8

* Update BuildMyOnnxruntime.cmake
* Update main.yml

* Update main.yml

* Use Ninja

* Update BuildMyOnnxruntime.cmake

* Update main.yml

* ccache

* Update BuildMyOpenCV.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update BuildMyOnnxruntime.cmake

* Update main.yml

* Update main.yml

* Update CMakeLists.txt

* Update BuildMyOnnxruntime.cmake

* Long path

* Update main.yml

* Update BuildMyOnnxruntime.cmake

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake

* Update BuildMyOnnxruntime.cmake
* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update BuildMyOpenCV.cmake

* Update main.yml

* Update BuildMyOpenCV.cmake
* Cleanup

* bump version
* Update BuildMyOnnxruntime.cmake

* Update BuildMyOpenCV.cmake
* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* Update main.yml

* 0.5.12
@royshil
Copy link
Collaborator

royshil commented Mar 5, 2023

Thank so much @umireon for the work!

i've merged my own CI work - can you please merge/rebase your work?

@umireon
Copy link
Member Author

umireon commented Mar 5, 2023

This PR will fix Windows and Linux builds.
Also it uses ExternalProject to build this plugin's own static libonnxruntime and static libopencv that is built with the minimal configuration provided in make sh.
macOS and linux builds don't need additional DLLs and Windows build needs DirectML.dll but it will be included into the bundle automatically.

@umireon
Copy link
Member Author

umireon commented Mar 5, 2023

@royshil Merged!

@umireon
Copy link
Member Author

umireon commented Mar 5, 2023

CI takes 1 hour for the first time. Once this PR is merged into main, the compilation cache will be enabled for all the platforms and CI will end in 10 minutes.

cmake/BuildMyOpenCV.cmake Outdated Show resolved Hide resolved
@royshil
Copy link
Collaborator

royshil commented Mar 5, 2023

CI takes 1 hour for the first time. Once this PR is merged into main, the compilation cache will be enabled for all the platforms and CI will end in 10 minutes.

yes i suspected as much, seeing the ccache work in the cmake files

my preference would be to have a precompiled binary we just download from S3.. but let's see how ccache does first

@royshil
Copy link
Collaborator

royshil commented Mar 5, 2023

@umireon i'm going to cancel the new build action and keep the old one going (to hopefully keep the ccache), before i let the latest commit one start running

cmake/BuildMyOnnxruntime.cmake Outdated Show resolved Hide resolved
@umireon
Copy link
Member Author

umireon commented Mar 6, 2023

@royshil Some build errors remained so I've fixed bugs!

@umireon umireon mentioned this pull request Mar 6, 2023
@umireon
Copy link
Member Author

umireon commented Mar 6, 2023

Ccache won't work until any successful build is done

cmake/BuildMyOpenCV.cmake Outdated Show resolved Hide resolved
@umireon
Copy link
Member Author

umireon commented Mar 6, 2023

@royshil Linux and Windows build failures will be fixed with aad1d61

@umireon
Copy link
Member Author

umireon commented Mar 6, 2023

@royshil Argument number error in CMakeFiles.txt was fixed!

@umireon
Copy link
Member Author

umireon commented Mar 6, 2023

I downloaded the ARM64 macOS build and it worked
https://github.com/royshil/obs-backgroundremoval/suites/11364958095/artifacts/585341650

@umireon
Copy link
Member Author

umireon commented Mar 6, 2023

I've misunderstood about INTERFACE_INCLUDE_DIRECTORIES. Now fixed @royshil

@royshil
Copy link
Collaborator

royshil commented Mar 6, 2023

@umireon you're almost there! got a couple minor snags

you can feel free to disable warning-to-error flag, and the compile error will go away (because it's a warning)

@umireon
Copy link
Member Author

umireon commented Mar 7, 2023

@royshil /WX and -Werror is disabled!

@umireon
Copy link
Member Author

umireon commented Mar 7, 2023

CCache is already effective on Mac

Copy link
Collaborator

@royshil royshil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Let's bring it in

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants