webrtc-sdk / webrtc-build

webrtc build scripts
MIT License
23 stars 24 forks source link

Use github actions to build the libraries. #1

Closed cloudwebrtc closed 1 week ago

cloudwebrtc commented 2 years ago

The local compilation is a repetitive and boring thing. These should be handed over to CI. When we create a release tag, we compile it into a binary package available for all platforms, which can avoid the security risks caused by uploading binary files locally.

But this task is not simple. If you have any experience in compiling webrtc source code with GitHub actions, please help me

huang12zheng commented 2 years ago

I don't have weBRTC experience I don't know the webrTC source code either.

But I have a experience with libgit2, github action file is: https://github.com/huang12zheng/libgit2/blob/main/.github/workflows/release.yml

I'll also take a look at WebRTC, but there might be a lot of blocking

huang12zheng commented 2 years ago
cloudwebrtc commented 2 years ago

@huang12zheng Yes, Shiguredo’s compilation script is a good example, but this repo has added a lot of custom patches. Unlike Shiguredo, we need to compile the dynamic link library to ensure that the minimum binary size native SDK is provided to flutter-webrtc.

cloudwebrtc commented 2 years ago

Here is the compilation command currently in use, I think just move it to GitHub actions to achieve a similar effect. https://github.com/webrtc-sdk/webrtc-build/blob/main/docs/build.md

cloudwebrtc commented 2 years ago

Hey @huang12zheng, If you are interested in this, I will be very happy to accept PR to resolve this issue. Currently, we need to compile libwebrtc.aar for Android: Include armeabi-v7a arm64-v8a x86_64 x86

Darwin platform include iOS armv7 iOS arm64 iOS x64 simulator iOS arm64 simulator macOS x64 macOS arm64 Combine all the above platforms into WebRTC.xframework and compress them into WebRTC.xcframework.zip

Windows/Linux/ARM Linux: You need to clone https://github.com/webrtc-sdk/libwebrtc to the source directory during compilation and generate it. The dynamic link library of libwebrtc.{so,dll}.

huang12zheng commented 2 years ago

Thank you for your reply. I am trying @cloudwebrtc

huang12zheng commented 2 years ago

I am indeed very sorry that I I give up going on. I feel awful about it and want show something.

Finally, I apologize for some reason above. I don't want to do it for a while.

cloudwebrtc commented 2 years ago

Hey @huang12zheng, don't worry, I will find a solution, thank you again for your hard work.