Skip to content

CHANGES を追記 #1325

CHANGES を追記

CHANGES を追記 #1325

Workflow file for this run

name: build
on:
push:
paths-ignore:
- "**.md"
- "LICENSE"
- "NOTICE"
- ".gitignore"
- "scripts/version_update.sh"
branches-ignore:
- daily
tags:
- "*"
jobs:
build-windows:
strategy:
fail-fast: false
matrix:
platform:
- name: windows_x86_64
- name: windows_arm64
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- run: python3 --version
- name: Disk Cleanup
run: |
Get-PSDrive
# Cache 済み Docker Image の削除
docker rmi $(docker images -q -a)
# Android SDK の削除
if ($Env:ANDROID_HOME) {
Remove-Item -Recurse -Force $Env:ANDROID_HOME -ErrorAction Ignore
}
if ($Env:ANDROID_NDK_HOME) {
Remove-Item -Recurse -Force $Env:ANDROID_NDK_HOME -ErrorAction Ignore
}
# JVM の削除
if ($Env:JAVA_HOME_11_X64) {
Remove-Item -Recurse -Force $Env:JAVA_HOME_11_X64 -ErrorAction Ignore
}
if ($Env:JAVA_HOME_8_X64) {
Remove-Item -Recurse -Force $Env:JAVA_HOME_8_X64 -ErrorAction Ignore
}
Get-PSDrive
- name: Setup Git User
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
- name: Build ${{ matrix.platform.name }}
run: |
# リポジトリの下に置きたいが、GitHub Actions の D:\ の容量が少なくてビルド出来ない問題があるので
# このパスにソースを配置する。
# また、WebRTC のビルドしたファイルは同じドライブに無いといけないっぽいのでこちらも設定する。
python3 run.py build ${{ matrix.platform.name }} --source-dir 'C:\webrtc' --build-dir 'C:\webrtc-build'
python3 run.py package ${{ matrix.platform.name }} --source-dir 'C:\webrtc' --build-dir 'C:\webrtc-build'
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: webrtc.${{ matrix.platform.name }}.zip
path: _package/${{ matrix.platform.name }}/webrtc.${{ matrix.platform.name }}.zip
build-macos:
strategy:
fail-fast: false
matrix:
platform:
- name: macos_arm64
- name: ios
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Select Xcode 15.4
run: sudo xcode-select --switch /Applications/Xcode_15.4.app/Contents/Developer
- run: brew install ninja
- name: Setup Git User
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
- name: Build ${{ matrix.platform.name }} for macos
if: matrix.platform.name == 'macos_arm64'
run: |
python3 run.py build ${{ matrix.platform.name }}
python3 run.py package ${{ matrix.platform.name }}
- name: Build ${{ matrix.platform.name }} for ios
if: matrix.platform.name == 'ios'
run: |
python3 run.py build ${{ matrix.platform.name }} --webrtc-overlap-ios-build-dir
python3 run.py package ${{ matrix.platform.name }} --webrtc-overlap-ios-build-dir
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: webrtc.${{ matrix.platform.name }}.tar.gz
path: _package/${{ matrix.platform.name }}/webrtc.${{ matrix.platform.name }}.tar.gz
build-linux:
strategy:
fail-fast: false
matrix:
platform:
- name: raspberry-pi-os_armv6
runs-on: ubuntu-20.04
- name: raspberry-pi-os_armv7
runs-on: ubuntu-20.04
- name: raspberry-pi-os_armv8
runs-on: ubuntu-20.04
- name: ubuntu-18.04_armv8
runs-on: ubuntu-20.04
- name: ubuntu-20.04_armv8
runs-on: ubuntu-20.04
- name: ubuntu-22.04_armv8
runs-on: ubuntu-22.04
- name: ubuntu-24.04_armv8
runs-on: ubuntu-24.04
- name: ubuntu-20.04_x86_64
runs-on: ubuntu-20.04
- name: ubuntu-22.04_x86_64
runs-on: ubuntu-22.04
- name: ubuntu-24.04_x86_64
runs-on: ubuntu-24.04
- name: android
runs-on: ubuntu-22.04
runs-on: ${{ matrix.platform.runs-on }}
steps:
- uses: actions/checkout@v4
- name: Disk Cleanup
run: |
set -x
df -h
sudo du -h -d1 /usr/local
sudo du -h -d1 /usr/local/share
sudo du -h -d1 /usr/local/lib
sudo du -h -d1 /usr/share
RMI=`docker images -q -a`
if [ -n "$RMI" ]; then
docker rmi $RMI
fi
# 4.6G
sudo rm -rf /usr/local/.ghcup
# 1.7G
sudo rm -rf /usr/share/swift
# 1.4G
sudo rm -rf /usr/share/dotnet
# 13G
sudo rm -rf /usr/local/lib/android
df -h
- name: Get stats
run: |
set -x
cat /etc/lsb-release
uname -a
cat /proc/cpuinfo
cat /proc/meminfo
- name: Setup ${{ matrix.platform.name }} for x86_64
if: endsWith(matrix.platform.name, '_x86_64')
run: sudo scripts/apt_install_x86_64.sh
- name: Setup ${{ matrix.platform.name }} for arm
if: contains(matrix.platform.name, '_armv')
run: sudo scripts/apt_install_arm.sh
- name: Setup ${{ matrix.platform.name }} for android
if: matrix.platform.name == 'android'
run: sudo scripts/apt_install_x86_64.sh && sudo apt-get install -y openjdk-11-jdk
- name: Setup Git User
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
- name: Build ${{ matrix.platform.name }}
run: |
python3 run.py build ${{ matrix.platform.name }}
python3 run.py package ${{ matrix.platform.name }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: webrtc.${{ matrix.platform.name }}.tar.gz
path: _package/${{ matrix.platform.name }}/webrtc.${{ matrix.platform.name }}.tar.gz
create-release:
name: Create Release
if: contains(github.ref, 'tags/m')
needs:
- build-windows
- build-macos
- build-linux
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/download
with:
platform: windows_x86_64
- uses: ./.github/actions/download
with:
platform: windows_arm64
- uses: ./.github/actions/download
with:
platform: macos_arm64
- uses: ./.github/actions/download
with:
platform: ios
- uses: ./.github/actions/download
with:
platform: raspberry-pi-os_armv6
- uses: ./.github/actions/download
with:
platform: raspberry-pi-os_armv7
- uses: ./.github/actions/download
with:
platform: raspberry-pi-os_armv8
- uses: ./.github/actions/download
with:
platform: ubuntu-18.04_armv8
- uses: ./.github/actions/download
with:
platform: ubuntu-20.04_armv8
- uses: ./.github/actions/download
with:
platform: ubuntu-22.04_armv8
- uses: ./.github/actions/download
with:
platform: ubuntu-24.04_armv8
- uses: ./.github/actions/download
with:
platform: ubuntu-20.04_x86_64
- uses: ./.github/actions/download
with:
platform: ubuntu-22.04_x86_64
- uses: ./.github/actions/download
with:
platform: ubuntu-24.04_x86_64
- uses: ./.github/actions/download
with:
platform: android
- name: Env to output
run: |
echo "package_paths<<EOF" >> $GITHUB_OUTPUT
cat package_paths.env >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
id: env
- name: Release
uses: softprops/action-gh-release@v1
with:
files: ${{ steps.env.outputs.package_paths }}