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

Update webrtc with latest version m121 #11

Merged
merged 77 commits into from
Jan 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
8101abb
Update README.md
mamaheux Dec 20, 2023
ea8a24c
Update CMakeLists.txt
mamaheux Dec 20, 2023
64ba3a6
Update VERSION
mamaheux Dec 20, 2023
924a770
Update build_and_release.yml
doumdi Dec 20, 2023
c2afb13
Update build_and_release.yml
doumdi Dec 20, 2023
0d4d410
Update build_and_release.yml
doumdi Dec 20, 2023
ab5e919
Update build_and_release.yml
doumdi Dec 20, 2023
05d67d5
Update build_and_release.yml
doumdi Dec 20, 2023
f524ea9
Update build_and_release.yml
doumdi Dec 20, 2023
bf3e701
Delete .github/workflows/build_only.yml
doumdi Dec 20, 2023
1c66e38
Update test_build_windows.yml
doumdi Dec 20, 2023
b2b7c66
Update build_and_release.yml
doumdi Dec 20, 2023
2cf1a25
Update build_and_release.yml
mamaheux Dec 21, 2023
96a24df
Update build_and_release.yml
mamaheux Dec 21, 2023
86624cd
Update build_and_release.yml
mamaheux Dec 21, 2023
8a098d2
Testing build with docker
doumdi Dec 21, 2023
c5a52b1
Automatic run
doumdi Dec 21, 2023
5360af0
Try args
doumdi Dec 21, 2023
4cb7e41
Full workflow dispatch
doumdi Dec 21, 2023
6ef2f61
Get current branch
doumdi Dec 21, 2023
9de9213
Set branch name
doumdi Dec 21, 2023
4291125
Testing branch name
doumdi Dec 21, 2023
4e4cd54
Testing branch name
doumdi Dec 21, 2023
d076d4a
Testing branch name
doumdi Dec 21, 2023
9640f1c
Testing branch name
doumdi Dec 21, 2023
67d9277
Fix path
doumdi Dec 21, 2023
58e3948
Using volume
doumdi Dec 21, 2023
d9402cc
Volume
doumdi Dec 21, 2023
5aeebe1
Putting back arm
doumdi Dec 21, 2023
bc3fe6d
Using python3
doumdi Dec 21, 2023
ceab44a
Use only 2 threads
doumdi Dec 21, 2023
4177005
Maximize space
doumdi Dec 21, 2023
7f0b68e
Adding space to root
doumdi Dec 21, 2023
d3148d3
Adding space to root
doumdi Dec 21, 2023
4262a4b
Testing without neon
doumdi Dec 21, 2023
3e4818a
Update generate_ninja_files.bash
doumdi Dec 21, 2023
75deda7
Trying rtc_build_tools=true for arm64
doumdi Dec 22, 2023
0a57728
Downgrade webrtc version.
mamaheux Dec 22, 2023
0737d93
Remove arm64 tests with clang.
doumdi Dec 22, 2023
b52a97f
Fix clang flag.
doumdi Dec 22, 2023
3a2a290
Revert "Downgrade webrtc version."
mamaheux Dec 22, 2023
fab91dd
Disable libaom
mamaheux Dec 22, 2023
d77d1b3
Revert "Disable libaom"
mamaheux Dec 22, 2023
7323722
Update CMakeLists.txt
doumdi Dec 22, 2023
dbed5e6
Merge branch 'update-webrtc' of github.com:introlab/webrtc-native-bui…
mamaheux Dec 22, 2023
2403da7
M118
doumdi Dec 22, 2023
7d696a5
M116
doumdi Dec 22, 2023
7cf3cf3
Fail fast = false
doumdi Dec 23, 2023
2965e32
try disable use_jumbo_build=false
doumdi Dec 23, 2023
518f048
Testing ffmpeg setup to Firefox
doumdi Dec 23, 2023
bf2cdfe
Update generate_ninja_files.bash
doumdi Dec 23, 2023
814d026
Trying to fetch like webrtc_bin repo
doumdi Jan 1, 2024
66d5fba
Trying build with clang on arm
doumdi Jan 1, 2024
d800150
Trying newer compilers
doumdi Jan 2, 2024
2814fd6
Trying disabling AV1
doumdi Jan 2, 2024
eb9be43
Update build_docker_linux.yml
doumdi Jan 2, 2024
c4827d1
Put back original compilers
doumdi Jan 2, 2024
ae33ce0
Trying disabling libaom
doumdi Jan 2, 2024
c5230d7
Put back AV1
doumdi Jan 2, 2024
75e5274
Update build_and_release.yml
mamaheux Jan 8, 2024
db07e7e
Update build_and_release.yml
mamaheux Jan 8, 2024
e0413b3
Update Dockerfile
mamaheux Jan 8, 2024
459f7bc
Building using docker
doumdi Jan 8, 2024
a0175a5
Only on workflow dispatch
doumdi Jan 8, 2024
03c8140
Fix get release url artifact
doumdi Jan 8, 2024
3329dec
Fix path
doumdi Jan 8, 2024
8177f38
Fix path
doumdi Jan 8, 2024
bf95ca5
Downgrade to 119.0.6045.215.
mamaheux Jan 8, 2024
7dc2c47
Upgrade the version.
mamaheux Jan 9, 2024
7c9a699
Update build_and_release.yml
mamaheux Jan 9, 2024
c2febc3
rtc_include_builtin_video_codecs=true
doumdi Jan 9, 2024
ade78d9
Removed unused flag
doumdi Jan 9, 2024
d277d4b
Fix setoutput warnings
doumdi Jan 9, 2024
43b42d6
Added example run from docker
doumdi Jan 9, 2024
0b7474c
Fixed CR
doumdi Jan 9, 2024
3e71f57
Removed unused patches
doumdi Jan 9, 2024
741b21c
Increase root size
doumdi Jan 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 53 additions & 49 deletions .github/workflows/build_and_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,25 @@ name: build_and_release

on:
workflow_dispatch:
branches: [main]
inputs:
fail_fast:
description: "Should stop the workflow as soon as one configuration fails"
required: false
type: boolean
default: true

jobs:
create-release:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Generate Version Output
id: generate_version_output
run: echo "::set-output name=version::$(cat VERSION)"
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
shell: bash

- name: Print Version Information
Expand All @@ -40,39 +45,52 @@ jobs:
- name: Output Release URL File
run: echo "${{ steps.create_release.outputs.upload_url }}" > release_url.txt
- name: Save Release URL File for publish
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: release_url
path: release_url.txt

build-linux:
needs: create-release
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
architecture: [amd64, arm64]
architecture: [arm64, amd64]
build-type: [Release, Debug]

runs-on: ${{ matrix.os }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2

- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 40000
swap-size-mb: 1024
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'

- uses: actions/checkout@v4
with:
submodules: recursive

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4
with:
name: release_url

- name: Get Upload URL
id: get_release_info
run: |
echo "::set-output name=upload_url::$(cat release_url.txt)"
echo "upload_url=$(cat release_url.txt)" >> $GITHUB_OUTPUT
ls -l
cat release_url.txt

- name: Generate Version Output
id: generate_version_output
run: echo "::set-output name=version::$(cat VERSION)"
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
shell: bash

- name: Print Version Information
Expand All @@ -82,43 +100,27 @@ jobs:
- name: Generate Release File Name
id: generate_release_file_name
run: |
echo "::set-output name=release_file_name::webrtc-native-build-${{ matrix.os }}-\
echo "release_file_name=webrtc-native-build-${{ matrix.os }}-\
${{ matrix.architecture }}-\
${{ matrix.build-type }}-\
${{ steps.generate_version_output.outputs.version }}"

- name: Print Release File Name
run: echo "Release File Name ${{ steps.generate_release_file_name.outputs.release_file_name }}"
shell: bash
${{ steps.generate_version_output.outputs.version }}" >> $GITHUB_OUTPUT

- name: Install system dependencies
- name: Generate Branch Name
id: generate_branch_name
run: |
sudo apt-get update
sudo apt-get install ninja-build cmake build-essential libssl-dev libboost-all-dev
sudo apt-get install libglib2.0-dev libgtk-3-dev libpulse-dev libasound2-dev

- name: Install cross compilation dependencies
run: |
sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
if: matrix.architecture == 'arm64'

- name: Create build directory
working-directory: .
run: |
mkdir build
echo "branch_name=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT

- name: Run CMake and build webrtc-native-build
working-directory: build
run: |
cmake ../ -DCMAKE_BUILD_TYPE=${{ matrix.build-type}} -DCMAKE_BUILD_ARCHITECTURE=${{ matrix.architecture }}
make -j2
make install
- name: Print Release File Name
run: echo "Release File Name ${{ steps.generate_release_file_name.outputs.release_file_name }} on branch ${{ steps.generate_branch_name.outputs.branch_name }}"
shell: bash

- name: Create Archive
working-directory: dist/${{ matrix.build-type }}
- name: Create and run Docker Image
working-directory: ./docker/${{ matrix.os }}
run: |
tar cvzf ${{ steps.generate_release_file_name.outputs.release_file_name }}.tar.gz webrtc-native-build-${{ steps.generate_version_output.outputs.version }}
docker buildx build -t webrtc --build-arg BUILD_TYPE=${{ matrix.build-type }} --build-arg BUILD_ARCHITECTURE=${{ matrix.architecture }} --build-arg BUILD_BRANCH=${{ steps.generate_branch_name.outputs.branch_name }} .
docker run --rm --volume $PWD:/data webrtc tar cvzf /data/${{ steps.generate_release_file_name.outputs.release_file_name }}.tar.gz ./
ls -l
shell: bash

- name: Upload Release Asset
id: upload-release-asset
Expand All @@ -127,37 +129,39 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
asset_path: dist/${{ matrix.build-type }}/${{ steps.generate_release_file_name.outputs.release_file_name }}.tar.gz
asset_path: ./docker/${{ matrix.os }}/${{ steps.generate_release_file_name.outputs.release_file_name }}.tar.gz
asset_name: ${{ steps.generate_release_file_name.outputs.release_file_name }}.tar.gz
asset_content_type: application/x-gzip

build-mac:
needs: create-release
strategy:
fail-fast: false
matrix:
os: [macos-11, macos-12]
os: [macos-11, macos-12, macos-13]
architecture: [osx64]
build-type: [Release, Debug]

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive

- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v4
with:
name: release_url

- name: Get Upload URL
id: get_release_info
run: |
echo "::set-output name=upload_url::$(cat release_url.txt)"
echo "upload_url=$(cat release_url.txt)" >> $GITHUB_OUTPUT
ls -l
cat release_url.txt
- name: Generate Version Output
id: generate_version_output
run: echo "::set-output name=version::$(cat VERSION)"

run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
shell: bash

- name: Print Version Information
Expand All @@ -167,10 +171,10 @@ jobs:
- name: Generate Release File Name
id: generate_release_file_name
run: |
echo "::set-output name=release_file_name::webrtc-native-build-${{ matrix.os }}-\
echo "release_file_name=webrtc-native-build-${{ matrix.os }}-\
${{ matrix.architecture }}-\
${{ matrix.build-type }}-\
${{ steps.generate_version_output.outputs.version }}"
${{ steps.generate_version_output.outputs.version }}" >> $GITHUB_OUTPUT

- name: Print Release File Name
run: echo "Release File Name ${{ steps.generate_release_file_name.outputs.release_file_name }}"
Expand Down
74 changes: 74 additions & 0 deletions .github/workflows/build_docker_linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# This workflow will create a release and build multiple versions of the webrtc library.
name: build_docker_linux

on:
workflow_dispatch:
inputs:
fail_fast:
description: "Should stop the workflow as soon as one configuration fails"
required: false
type: boolean
default: false

jobs:
build-linux:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
architecture: [arm64, amd64]
build-type: [Release, Debug]

runs-on: ubuntu-22.04
steps:

- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 40000
swap-size-mb: 1024
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'

- uses: actions/checkout@v4
with:
submodules: recursive

- name: Generate Version Output
id: generate_version_output
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
shell: bash

- name: Print Version Information
run: echo "Version ${{ steps.generate_version_output.outputs.version }}"
shell: bash

- name: Generate Release File Name
id: generate_release_file_name
run: |
echo "release_file_name=webrtc-native-build-${{ matrix.os }}-\
${{ matrix.architecture }}-\
${{ matrix.build-type }}-\
${{ steps.generate_version_output.outputs.version }}" >> $GITHUB_OUTPUT

- name: Generate Branch Name
id: generate_branch_name
run: |
echo "branch_name=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT

- name: Print Release File Name
run: echo "Release File Name ${{ steps.generate_release_file_name.outputs.release_file_name }} on branch ${{ steps.generate_branch_name.outputs.branch_name }}"
shell: bash

- name: Create and run Docker Image
working-directory: ./docker/${{ matrix.os }}
run: |
docker buildx build -t webrtc --build-arg BUILD_TYPE=${{ matrix.build-type }} --build-arg BUILD_ARCHITECTURE=${{ matrix.architecture }} --build-arg BUILD_BRANCH=${{ steps.generate_branch_name.outputs.branch_name }} .
docker run --rm --volume $PWD:/data webrtc tar cvzf /data/${{ steps.generate_release_file_name.outputs.release_file_name }}.tar.gz ./webrtc-native-build-${{ steps.generate_version_output.outputs.version }}
ls -l

shell: bash

Loading
Loading