Skip to content

Upgrade to 130.0.6723.58 version (#128) #646

Upgrade to 130.0.6723.58 version (#128)

Upgrade to 130.0.6723.58 version (#128) #646

Workflow file for this run

name: CI
on:
push:
branches: ["main"]
tags: ["*"]
pull_request:
branches: ["main"]
paths-ignore: ["**.md"]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
############
# Building #
############
build:
strategy:
fail-fast: false
matrix:
include:
- os: android
ext: .jar
- os: android
arch: arm
ext: .a
- os: android
arch: arm64
ext: .a
- os: android
arch: x64
ext: .a
- os: ios
- os: linux
arch: arm64
- os: linux
arch: x64
- os: macos
arch: arm64
- os: macos
arch: x64
- os: windows
arch: x64
# NOTE: Using `macos-14` instead of `macos-latest` is for improving backward
# compatibility with older iOS/macOS versions.
# The minimum macOS version required to build `libwebrtc` is macOS 14
# due to the use of Screen Capture Kit in the `libwebrtc` source code.
runs-on: ${{ (contains('ios macos', matrix.os) && 'macos-14')
|| (contains('windows', matrix.os) && 'windows-2022')
|| 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4
- run: ./disk_cleanup.sh
if: ${{ contains('android linux', matrix.os) }}
- run: ./disk_cleanup.mac.sh
if: ${{ contains('ios macos', matrix.os) }}
- run: powershell .\disk_cleanup.bat
if: ${{ contains('windows', matrix.os) }}
- run: sudo scripts/apt_install.sh
if: ${{ contains('android linux', matrix.os) }}
- run: pip install setuptools
if: ${{ contains('ios macos', matrix.os) }}
- run: make -C docker ${{ matrix.os }}${{ (matrix.arch != '' && matrix.os != 'android')
&& format('-{0}', matrix.arch) || '' }}
${{ (matrix.ext == '.jar'
&& 'static=no')
|| (matrix.ext == '.a'
&& 'static=yes') || '' }}
${{ matrix.ext == '.a'
&& format('arch={0}', (matrix.arch == 'arm'
&& 'armeabi-v7a')
|| (matrix.arch == 'arm64'
&& 'arm64-v8a')
|| (matrix.arch == 'x64'
&& 'x86_64')) || '' }}
${{ matrix.ext == '.a'
&& format('target_cpu={0}', matrix.arch) || '' }}
${{ (matrix.ext == '.a' && matrix.arch == 'arm')
&& 'arm_version=7' || '' }}
if: ${{ contains('android linux', matrix.os) }}
- run: make -C build USE_CCACHE=0 ${{ matrix.os }}${{ matrix.arch != '' && format('-{0}', matrix.arch) || '' }}
if: ${{ contains('ios macos', matrix.os) }}
- run: powershell .\build.windows.bat
if: ${{ contains('windows', matrix.os) }}
- uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.os }}${{ matrix.arch != '' && format('-{0}', matrix.arch) || '' }}
path: package/libwebrtc-${{ matrix.os }}${{ matrix.arch != '' && format('-{0}', matrix.arch) || '' }}.${{ (matrix.os == 'ios' && 'zip') || 'tar.gz' }}
if-no-files-found: error
repack-android:
name: repack (android)
needs: ["build"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: build-android
path: package/
- run: tar -xzvf libwebrtc-android.tar.gz -C .
working-directory: package/
- uses: actions/download-artifact@v4
with:
name: build-android-arm
path: package/
- run: tar -xzvf libwebrtc-android-arm.tar.gz -C .
working-directory: package/
- uses: actions/download-artifact@v4
with:
name: build-android-arm64
path: package/
- run: tar -xzvf libwebrtc-android-arm64.tar.gz -C .
working-directory: package/
- uses: actions/download-artifact@v4
with:
name: build-android-x64
path: package/
- run: tar -xzvf libwebrtc-android-x64.tar.gz -C .
working-directory: package/
- run: rm -rf libwebrtc-android*tar.gz
working-directory: package/
- run: tar -czvf libwebrtc-android.tar.gz
aar jar include lib NOTICE VERSION
working-directory: package/
- uses: actions/upload-artifact@v4
with:
name: repack-android
path: package/libwebrtc-android.tar.gz
if-no-files-found: error
#############
# Releasing #
#############
publish-android:
name: publish (Android)
if: ${{ startsWith(github.ref, 'refs/tags/') }}
needs: ["build", "repack-android", "release-github"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: gh-pages
- uses: actions/setup-java@v4
with:
java-version: "17"
distribution: temurin
- name: Parse release version
id: release
run: echo "version=${GITHUB_REF#refs/tags/}"
>> $GITHUB_OUTPUT
- uses: actions/download-artifact@v4
with:
name: repack-android
path: package/
- run: tar -xzvf libwebrtc-android.tar.gz
working-directory: package/
- name: Build Maven files
run: mvn install:install-file
-DgroupId=com.github.instrumentisto
-DartifactId=libwebrtc-bin
-Dversion=${{ steps.release.outputs.version }}
-Dfile=./package/aar/libwebrtc.aar
-Dpackaging=aar
-DgeneratePom=true
-DlocalRepositoryPath=./android/
-DcreateChecksum=true
- name: Publish to GitHub Pages
run: |
set -ex
git config --local user.email 'actions+${{ github.run_number }}@github.com'
git config --local user.name 'GitHub Actions'
git add -v android/
git commit -m 'Release ${{ steps.release.outputs.version }} version of `libwebrtc-android`'
git push origin gh-pages
publish-cocoapods:
name: publish (CocoaPods)
if: ${{ startsWith(github.ref, 'refs/tags/') }}
needs: ["release-github"]
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: maxim-lobanov/setup-cocoapods@v1
with:
version: latest
- run: pod spec lint --allow-warnings --verbose
- run: pod trunk push --allow-warnings
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
release-github:
name: release (GitHub)
if: ${{ startsWith(github.ref, 'refs/tags/') }}
needs: ["build", "repack-android"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Parse release version
id: release
run: echo "version=${GITHUB_REF#refs/tags/}"
>> $GITHUB_OUTPUT
- name: Verify release version matches VERSION file
run: |
test "${{ steps.release.outputs.version }}" \
== "$(grep 'WEBRTC_VERSION=' VERSION | cut -d '=' -f2 | tr -d '\n')$(grep -e '^REVISION=.*$' VERSION | cut -d '=' -f2 | sed -e 's/^/-r/' | tr -d '\n')"
- uses: actions/download-artifact@v4
with:
name: repack-android
path: package/
- uses: actions/download-artifact@v4
with:
name: build-ios
path: package/
- uses: actions/download-artifact@v4
with:
name: build-linux-arm64
path: package/
- uses: actions/download-artifact@v4
with:
name: build-linux-x64
path: package/
- uses: actions/download-artifact@v4
with:
name: build-macos-arm64
path: package/
- uses: actions/download-artifact@v4
with:
name: build-macos-x64
path: package/
- uses: actions/download-artifact@v4
with:
name: build-windows-x64
path: package/
- name: Generate SHA256 checksums
run: ls -1 | xargs -I {} sh -c "sha256sum {} > {}.sha256sum"
working-directory: package/
- name: Show generated SHA256 checksums
run: cat *.sha256sum
working-directory: package/
- name: Create GitHub release
uses: softprops/action-gh-release@v2
with:
name: ${{ steps.release.outputs.version }}
files: |
package/libwebrtc-*.tar.gz
package/libwebrtc-*.tar.gz.sha256sum
package/libwebrtc-*.zip
package/libwebrtc-*.zip.sha256sum
fail_on_unmatched_files: true