Skip to content

Commit a4bc235

Browse files
authored
Merge branch 'develop' into feature/fix-android-hello-not-to-dispose-when-orientation-change
2 parents 042953c + eecb962 commit a4bc235

File tree

9 files changed

+133
-157
lines changed

9 files changed

+133
-157
lines changed

.github/workflows/build.yml

Lines changed: 98 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -210,47 +210,37 @@ jobs:
210210
# 1.4G
211211
sudo rm -rf /usr/share/dotnet
212212
df -h
213-
# Ubuntu 24.04 だと libtinfo5 が見つからない問題があるので、その修正
214-
# ref: https://qiita.com/gengen16k/items/88cf3c18a40a94205fab
215-
- name: Fix CUDA issues for Ubuntu 24.04
216-
if: matrix.platform.name == 'ubuntu-24.04_x86_64'
217-
run: |
218-
sudo tee /etc/apt/sources.list.d/jammy.list << EOF
219-
deb http://archive.ubuntu.com/ubuntu/ jammy universe
220-
EOF
221-
222-
sudo tee /etc/apt/preferences.d/pin-jammy <<EOF
223-
Package: *
224-
Pin: release n=jammy
225-
Pin-Priority: -10
226-
227-
Package: libtinfo5
228-
Pin: release n=jammy
229-
Pin-Priority: 990
230-
EOF
231-
- name: Install deps for ${{ matrix.platform.name }}
213+
- name: Install base deps for ${{ matrix.platform.name }}
232214
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'x86_64'
233215
run: |
234-
source DEPS
235216
sudo apt-get update
236217
sudo apt-get install -y software-properties-common
237-
238-
# X11
239-
sudo apt-get install libx11-dev libxext-dev
240-
241-
# OpenGL
218+
- name: Install X11 for ${{ matrix.platform.name }}
219+
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'x86_64'
220+
run: |
221+
sudo apt-get install -y libx11-dev libxext-dev
222+
- name: Install OpenGL for ${{ matrix.platform.name }}
223+
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'x86_64'
224+
run: |
242225
sudo apt-get install -y libgl-dev
243226
244-
# CUDA
245-
# libssl1.1 が必要
246-
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
247-
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
248-
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
249-
sudo dpkg -i cuda-keyring_*all.deb
250-
sudo apt-get update
251-
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install cuda=$CUDA_VERSION
227+
- name: Get CUDA version from DEPS
228+
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'x86_64'
229+
id: cuda-version
230+
run: |
231+
CUDA_VERSION=$(grep '^CUDA_VERSION=' DEPS | cut -d= -f2)
232+
echo "cuda_version=$CUDA_VERSION" >> $GITHUB_OUTPUT
233+
234+
- uses: shiguredo/github-actions/.github/actions/setup-cuda-toolkit@main
235+
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'x86_64'
236+
id: cuda
237+
with:
238+
cuda_version: ${{ steps.cuda-version.outputs.cuda_version }}
239+
platform: ${{ matrix.platform.runs-on }}
252240

253-
# clang-20
241+
- name: Install clang-20 for ${{ matrix.platform.name }}
242+
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'x86_64'
243+
run: |
254244
wget https://apt.llvm.org/llvm.sh
255245
chmod a+x llvm.sh
256246
sudo ./llvm.sh 20
@@ -269,14 +259,14 @@ jobs:
269259
sudo apt-get -y install ninja-build
270260
# JDK を指定しないとデフォルトの JDK 11 で動作するため指定する
271261
- name: Setup JDK 17
262+
if: matrix.platform.os == 'android'
272263
uses: actions/setup-java@v4
273264
with:
274-
java-version: '17'
275-
distribution: 'temurin'
276-
if: matrix.platform.os == 'android'
265+
java-version: "17"
266+
distribution: "temurin"
277267
- name: Setup Android SDK
278-
uses: android-actions/setup-android@v3
279268
if: matrix.platform.os == 'android'
269+
uses: android-actions/setup-android@v3
280270
- run: python3 run.py build --test --run-e2e-test --package ${{ matrix.platform.name }}
281271
- name: Get package name
282272
run: |
@@ -300,15 +290,16 @@ jobs:
300290
name: ${{ matrix.platform.name }}.env
301291
path: _package/${{ matrix.platform.name }}/release/sora.env
302292
- name: Build Examples
293+
if: matrix.platform.os == 'ubuntu' && matrix.platform.name != 'ubuntu-22.04_armv8'
303294
run: |
304295
cd examples
305296
mkdir examples_${{ matrix.platform.name }}
306297
for app in sdl_sample sumomo messaging_recvonly_sample; do
307298
python3 $app/${{ matrix.platform.name }}/run.py --local-sora-cpp-sdk-dir ..
308299
cp _build/${{ matrix.platform.name }}/release/$app/$app examples_${{ matrix.platform.name }}
309300
done
310-
if: matrix.platform.os == 'ubuntu' && matrix.platform.name != 'ubuntu-22.04_armv8'
311-
- name: Build Examples
301+
- name: Build Examples (Raspberry Pi OS)
302+
if: matrix.platform.os == 'raspberry-pi-os' && matrix.platform.arch == 'armv8'
312303
run: |
313304
cd examples
314305
mkdir examples_${{ matrix.platform.name }}
@@ -318,13 +309,14 @@ jobs:
318309
# raspberry-pi-os は libcamerac.so も必要
319310
cp _build/${{ matrix.platform.name }}/release/$app/libcamerac.so examples_${{ matrix.platform.name }}
320311
done
321-
if: matrix.platform.os == 'raspberry-pi-os' && matrix.platform.arch == 'armv8'
322312
- name: Upload Examples Artifact
313+
if: |
314+
(matrix.platform.os == 'ubuntu' && matrix.platform.name != 'ubuntu-22.04_armv8') ||
315+
(matrix.platform.os == 'raspberry-pi-os')
323316
uses: actions/upload-artifact@v4
324317
with:
325318
name: examples_${{ matrix.platform.name }}
326319
path: examples/examples_${{ matrix.platform.name }}
327-
if: matrix.platform.os == 'ubuntu' && matrix.platform.name != 'ubuntu-22.04_armv8'
328320

329321
create-release:
330322
name: Create Release
@@ -398,24 +390,24 @@ jobs:
398390
working-directory: ${{ github.workspace }}/examples
399391
runs-on: windows-2022
400392
steps:
401-
- uses: actions/checkout@v5
402-
- name: Build Example
403-
run: |
404-
python3 ${{ matrix.example }}/windows_x86_64/run.py
405-
- name: Package Binary
406-
run: |
407-
# アップロード用のディレクトリを作成する
408-
mkdir -p ${{ matrix.example }}_windows_x86_64
409-
# バイナリをアップロード用のディレクトリにコピーする
410-
cp _build/windows_x86_64/release/${{ matrix.example }}/Release/${{ matrix.example }}.exe ${{ matrix.example }}_windows_x86_64/${{ matrix.example }}.exe
411-
# バイナリを圧縮する
412-
# 例: sumomo_windows_x86_64.zip
413-
Compress-Archive -Path ${{ matrix.example }}_windows_x86_64 -DestinationPath ${{ matrix.example }}_windows_x86_64.zip
414-
- name: Upload Examples Artifact
415-
uses: actions/upload-artifact@v4
416-
with:
417-
name: ${{ matrix.example }}_windows_x86_64.zip
418-
path: examples/${{ matrix.example }}_windows_x86_64.zip
393+
- uses: actions/checkout@v5
394+
- name: Build Example
395+
run: |
396+
python3 ${{ matrix.example }}/windows_x86_64/run.py
397+
- name: Package Binary
398+
run: |
399+
# アップロード用のディレクトリを作成する
400+
mkdir -p ${{ matrix.example }}_windows_x86_64
401+
# バイナリをアップロード用のディレクトリにコピーする
402+
cp _build/windows_x86_64/release/${{ matrix.example }}/Release/${{ matrix.example }}.exe ${{ matrix.example }}_windows_x86_64/${{ matrix.example }}.exe
403+
# バイナリを圧縮する
404+
# 例: sumomo_windows_x86_64.zip
405+
Compress-Archive -Path ${{ matrix.example }}_windows_x86_64 -DestinationPath ${{ matrix.example }}_windows_x86_64.zip
406+
- name: Upload Examples Artifact
407+
uses: actions/upload-artifact@v4
408+
with:
409+
name: ${{ matrix.example }}_windows_x86_64.zip
410+
path: examples/${{ matrix.example }}_windows_x86_64.zip
419411

420412
build-macos-examples:
421413
needs: create-release
@@ -428,23 +420,23 @@ jobs:
428420
working-directory: ${{ github.workspace }}/examples
429421
runs-on: macos-14
430422
steps:
431-
- uses: actions/checkout@v5
432-
- name: Build Example
433-
run: |
434-
python3 ${{ matrix.example }}/macos_arm64/run.py
435-
- name: Package Binary
436-
run: |
437-
# アップロード用のディレクトリを作成する
438-
mkdir -p ${{ matrix.example }}_macos_arm64
439-
cp _build/macos_arm64/release/${{ matrix.example }}/${{ matrix.example }} ${{ matrix.example }}_macos_arm64/${{ matrix.example }}
440-
# バイナリを圧縮する
441-
# 例: sumomo_macos_arm64.tar.gz
442-
tar -czf ${{ matrix.example }}_macos_arm64.tar.gz ${{ matrix.example }}_macos_arm64
443-
- name: Upload Examples Artifact
444-
uses: actions/upload-artifact@v4
445-
with:
446-
name: ${{ matrix.example }}_macos_arm64.tar.gz
447-
path: examples/${{ matrix.example }}_macos_arm64.tar.gz
423+
- uses: actions/checkout@v5
424+
- name: Build Example
425+
run: |
426+
python3 ${{ matrix.example }}/macos_arm64/run.py
427+
- name: Package Binary
428+
run: |
429+
# アップロード用のディレクトリを作成する
430+
mkdir -p ${{ matrix.example }}_macos_arm64
431+
cp _build/macos_arm64/release/${{ matrix.example }}/${{ matrix.example }} ${{ matrix.example }}_macos_arm64/${{ matrix.example }}
432+
# バイナリを圧縮する
433+
# 例: sumomo_macos_arm64.tar.gz
434+
tar -czf ${{ matrix.example }}_macos_arm64.tar.gz ${{ matrix.example }}_macos_arm64
435+
- name: Upload Examples Artifact
436+
uses: actions/upload-artifact@v4
437+
with:
438+
name: ${{ matrix.example }}_macos_arm64.tar.gz
439+
path: examples/${{ matrix.example }}_macos_arm64.tar.gz
448440

449441
build-ubuntu-examples:
450442
needs: create-release
@@ -510,35 +502,35 @@ jobs:
510502
path: examples/${{ matrix.example }}_${{ matrix.platform.name }}.tar.gz
511503

512504
create-release-example:
513-
name: Create Release Examples
514-
needs:
515-
- build-windows-examples
516-
- build-macos-examples
517-
- build-ubuntu-examples
518-
strategy:
519-
matrix:
520-
example:
521-
- sumomo
522-
archive:
523-
- windows_x86_64.zip
524-
- macos_arm64.tar.gz
525-
- ubuntu-22.04_x86_64.tar.gz
526-
- ubuntu-24.04_x86_64.tar.gz
527-
- ubuntu-24.04_armv8.tar.gz
528-
- raspberry-pi-os_armv8.tar.gz
529-
runs-on: ubuntu-24.04
530-
steps:
531-
- uses: actions/checkout@v5
532-
- uses: actions/download-artifact@v5
533-
with:
534-
name: ${{ matrix.example }}_${{ matrix.archive }}
535-
- name: Release Examples
536-
run: |
537-
gh release upload "${{ github.ref_name }}" \
538-
"${{ matrix.example }}_${{ matrix.archive }}" \
539-
--clobber
540-
env:
541-
GH_TOKEN: ${{ github.token }}
505+
name: Create Release Examples
506+
needs:
507+
- build-windows-examples
508+
- build-macos-examples
509+
- build-ubuntu-examples
510+
strategy:
511+
matrix:
512+
example:
513+
- sumomo
514+
archive:
515+
- windows_x86_64.zip
516+
- macos_arm64.tar.gz
517+
- ubuntu-22.04_x86_64.tar.gz
518+
- ubuntu-24.04_x86_64.tar.gz
519+
- ubuntu-24.04_armv8.tar.gz
520+
- raspberry-pi-os_armv8.tar.gz
521+
runs-on: ubuntu-24.04
522+
steps:
523+
- uses: actions/checkout@v5
524+
- uses: actions/download-artifact@v5
525+
with:
526+
name: ${{ matrix.example }}_${{ matrix.archive }}
527+
- name: Release Examples
528+
run: |
529+
gh release upload "${{ github.ref_name }}" \
530+
"${{ matrix.example }}_${{ matrix.archive }}" \
531+
--clobber
532+
env:
533+
GH_TOKEN: ${{ github.token }}
542534

543535
notification:
544536
name: Slack Notification

.github/workflows/claude.yml

Lines changed: 7 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -13,46 +13,17 @@ permissions:
1313
actions: read
1414

1515
env:
16-
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY_SORA_OSS_SONNET }}
16+
CLAUDE_API_KEY: ${{ secrets.ANTHROPIC_API_KEY_SORA_OSS_SONNET }}
17+
CLAUDE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN_VOLUNTAS }}
1718

1819
jobs:
19-
claude-opus-response-voluntas:
20-
if: github.event.comment.user.login == 'voluntas'
20+
claude-response:
2121
runs-on: ubuntu-24.04
2222
timeout-minutes: 15
2323
steps:
2424
- uses: actions/checkout@v5
25-
- uses: anthropics/claude-code-action@v1
25+
- uses: shiguredo/github-actions/.github/actions/claude-code-action@main
2626
with:
27-
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN_VOLUNTAS }}
28-
github_token: ${{ secrets.GITHUB_TOKEN }}
29-
trigger_phrase: "!opus"
30-
claude_args: |
31-
--model claude-opus-4-1-20250805
32-
33-
check-permission:
34-
if: github.event.comment.user.login != 'voluntas'
35-
runs-on: ubuntu-24.04
36-
outputs:
37-
has_permission: ${{ steps.check.outputs.has-permission }}
38-
steps:
39-
- uses: actions/checkout@v5
40-
- id: check
41-
uses: shiguredo/github-actions/.github/actions/check-write-permission@main
42-
with:
43-
username: ${{ github.event.comment.user.login }}
44-
45-
claude-sonnet-response-others:
46-
needs: check-permission
47-
if: needs.check-permission.outputs.has_permission == 'true'
48-
runs-on: ubuntu-24.04
49-
timeout-minutes: 15
50-
steps:
51-
- uses: actions/checkout@v5
52-
- uses: anthropics/claude-code-action@v1
53-
with:
54-
anthropic_api_key: ${{ env.ANTHROPIC_API_KEY }}
55-
github_token: ${{ secrets.GITHUB_TOKEN }}
56-
trigger_phrase: "!sonnet"
57-
claude_args: |
58-
--model claude-sonnet-4-5-20250929
27+
api_key: ${{ env.CLAUDE_API_KEY }}
28+
oauth_user: voluntas
29+
oauth_token: ${{ env.CLAUDE_OAUTH_TOKEN }}

CHANGES.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,16 @@
1111

1212
## develop
1313

14+
- [UPDATE] CUDA のバージョンを `12.9.1-1` に上げる
15+
- CUDA コンパイルオプションに `D_ALLOW_UNSUPPORTED_LIBCPP` を追加する
16+
- CUDA コンパイルオプションの `cuda-gpu-arch``sm_35` から `sm_60` に変更する
17+
- sm_60 は Pascal 世代の GPU からサポートされている
18+
- sm_35 は Kepler 世代の GPU からサポートされているが、Kepler は CUDA 10 までのサポートとなるためドロップ
19+
- sm_50 は Maxwell 世代の GPU からサポートされているが、Maxwell は CUDA 11 までのサポートとなるドロップ
20+
- @voluntas
1421
- [CHANGE] enum の `kNvidiaVideoCodecSdk``kNvidiaVideoCodec` に変更する
1522
- @voluntas
16-
- [CHANGE] liwebrtc のバージョンを m141.7390.2.0 に上げる
23+
- [CHANGE] liwebrtc のバージョンを m141.7390.3.3 に上げる
1724
- macOS, iOS が利用している clang, libc++ を Apple Clang のものから libwebrtc 管理下の Clang のものに変えたので破壊的変更となります
1825
- libwebrtc m141 で `rtc_config.crypto_options` の型が変更されたため、`emplace()` ではなく直接アクセスするよう修正
1926
- Windows で `CreateWindowsCoreAudioAudioDeviceModule``Environment` を受け取る API に変わったため、それに追従
@@ -40,12 +47,17 @@
4047
- @melpon
4148
- [UPDATE] actions/download-artifact を v5 に上げる
4249
- @miosakuma
50+
- [UPDATE] examples/DEPS の CLI11 バージョンを v2.6.1 にあげる
51+
- @torikizi
52+
- [UPDATE] examples/DEPS の SDL バージョンを 3.2.24 にあげる
53+
- @torikizi
4354
- [FIX] sumomo で audio_device をデフォルト無効にしていたのを修正する
4455
- @torikizi
4556
- [FIX] android の hello アプリについて回転時やスクリーンサイズの変更時に Activity の再起動が行われないようにする
4657
- AndroidManifest.xml の `android:configChanges``"orientation|screenSize|smallestScreenSize|screenLayout"` を設定する
47-
4858
- @miosakuma
59+
- [FIX] GitHub Actions の build.yml で CUDA パッケージを ubuntu のバージョンに合わせるようにする
60+
- @voluntas
4961

5062
## 2025.5.1
5163

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ elseif (SORA_TARGET_OS STREQUAL "ubuntu")
568568
third_party/NvCodec/NvCodec/NvDecoder/NvDecoder.cpp
569569
third_party/NvCodec/NvCodec/NvEncoder/NvEncoderCuda.cpp
570570
PROPERTIES
571-
COMPILE_OPTIONS "-xcuda;--cuda-gpu-arch=sm_35;-std=gnu++17;-Wno-tautological-constant-out-of-range-compare"
571+
COMPILE_OPTIONS "-xcuda;--cuda-gpu-arch=sm_60;-std=gnu++17;-Wno-tautological-constant-out-of-range-compare;-D_ALLOW_UNSUPPORTED_LIBCPP"
572572
)
573573

574574
# CUDA を要求したくないので libsora.a に含める

DEPS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
WEBRTC_BUILD_VERSION=m141.7390.2.0
1+
WEBRTC_BUILD_VERSION=m141.7390.3.3
22
BOOST_VERSION=1.89.0
33
BOOST_SHA256_HASH=9de758db755e8330a01d995b0a24d09798048400ac25c03fc5ea9be364b13c93
44
CMAKE_VERSION=4.1.2
5-
CUDA_VERSION=11.8.0-1
5+
CUDA_VERSION=12.9.1-1
66
ANDROID_NDK_VERSION=r28b
77
ANDROID_NATIVE_API_LEVEL=29
88
ANDROID_SDK_CMDLINE_TOOLS_VERSION=13114758

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025.6.0-canary.5
1+
2025.6.0-canary.9

0 commit comments

Comments
 (0)