Skip to content

Build WebRTC

Build WebRTC #11

Workflow file for this run

name: Build WebRTC
on:
workflow_dispatch:
inputs:
branch_number:
description: 'The branch number of WebRTC to build (Greater than 5790)'
required: true
milestone:
description: 'The milestone number of the WebRTC branch'
required: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setup runner
run: |
df -h /
sudo rm -rf /usr/share/dotnet
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
df -h /
- name: Checkout repository
uses: actions/checkout@v4.1.1
- name: Install Python and binutils
run: |
df -h /
sudo apt-get update
sudo apt-get install -y git curl python3 python3-setuptools lsb-release
sudo apt-get install -y binutils binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf binutils-mips64el-linux-gnuabi64 binutils-mipsel-linux-gnu bison bzip2 cdbs curl dbus-x11 devscripts dpkg-dev elfutils fakeroot flex git-core gperf lib32z1 libasound2 libasound2-dev libatk1.0-0 libatspi2.0-0 libatspi2.0-dev libbluetooth-dev libbrlapi-dev libbrlapi0.8 libbz2-1.0 libbz2-dev libc6 libc6-dev libcairo2 libcairo2-dev libcap-dev libcap2 libcgi-session-perl libcups2 libcups2-dev libcurl4-gnutls-dev libdrm-dev libdrm2 libegl1 libelf-dev libevdev-dev libevdev2 libexpat1 libffi-dev libffi8 libfontconfig1 libfreetype6 libfuse2 libgbm-dev libgbm1 libgl1 libglib2.0-0 libglib2.0-dev libglu1-mesa-dev libgtk-3-0 libgtk-3-dev libinput-dev libinput10 libjpeg-dev libkrb5-dev libncurses5 libnspr4 libnspr4-dev libnss3 libnss3-dev libpam0g libpam0g-dev libpango-1.0-0 libpangocairo-1.0-0 libpci-dev libpci3 libpcre3 libpixman-1-0 libpng16-16 libpulse-dev libpulse0 libsctp-dev libspeechd-dev libspeechd2 libsqlite3-0 libsqlite3-dev libssl-dev libstdc++6 libsystemd-dev libudev-dev libudev1 libuuid1 libva-dev libvulkan-dev libvulkan1 libwayland-egl1 libwayland-egl1-mesa libwww-perl libx11-6 libx11-xcb1 libxau6 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon-dev libxrandr2 libxrender1 libxshmfence-dev libxslt1-dev libxss-dev libxt-dev libxtst-dev libxtst6 lighttpd locales mesa-common-dev openbox p7zip patch perl pkg-config rpm ruby subversion uuid-dev wdiff x11-utils xcompmgr xvfb xz-utils zip zlib1g zstd
df -h /
- name: Fetch depot tools
run: |
df -h /
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
df -h /
- name: Add depot tools to path
run: |
echo "$(pwd)/depot_tools" >> $GITHUB_PATH
ls
- name: Fetch WebRTC revision
run: |
python3 build.py fetch --revision branch-heads/${{ inputs.branch_number }}
df -h /
ls
- name: Build WebRTC
run: |
python3 build.py build
df -h /
ls
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
- name: Rename aar file to include milestone
run: |
mv libwebrtc.aar libwebrtc-${{ inputs.milestone }}.aar
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ inputs.milestone }}
release_name: v${{ inputs.milestone }}
body: |
Built off of the ${{inputs.milestone}} branch here: https://chromiumdash.appspot.com/branches
## 📃 License
* WebRTC License: https://webrtc.org/support/license
- name: Upload release aar
id: upload-release-aar
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./libwebrtc-${{ inputs.milestone }}.aar
asset_name: libwebrtc-${{ inputs.milestone }}.aar
asset_content_type: application/zip
- name: Upload release license
id: upload-release-license
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./LICENSE.md
asset_name: LICENSE.md
asset_content_type: text/markdown