Skip to content

Commit b4f2e74

Browse files
committed
Merge branch 'release/2025.3.0'
2 parents d596a58 + 411ec7c commit b4f2e74

File tree

78 files changed

+1352
-1417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1352
-1417
lines changed

.github/copilot-instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- 日本語で反応して

.github/workflows/build-debug.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,18 +82,18 @@ jobs:
8282
8383
- name: Setup common
8484
run: |
85-
# clang-18
85+
# clang-19
8686
wget https://apt.llvm.org/llvm.sh
8787
chmod a+x llvm.sh
88-
sudo ./llvm.sh 18
88+
sudo ./llvm.sh 19
8989
9090
- uses: actions/checkout@v4
9191
with:
9292
path: sora-python-sdk
9393
- name: Get versions
9494
id: version
9595
run: |
96-
source sora-python-sdk/VERSION
96+
source sora-python-sdk/DEPS
9797
echo "webrtc_build_version=${WEBRTC_BUILD_VERSION}" >> $GITHUB_OUTPUT
9898
echo "sora_cpp_sdk_version=${SORA_CPP_SDK_VERSION}" >> $GITHUB_OUTPUT
9999
echo "boost_version=${BOOST_VERSION}" >> $GITHUB_OUTPUT
@@ -181,7 +181,7 @@ jobs:
181181
if: steps.sora-cpp-sdk-cache.outputs.cache-hit != 'true'
182182
working-directory: sora-cpp-sdk
183183
run: |
184-
source VERSION
184+
source DEPS
185185
sudo apt-get update
186186
sudo apt-get install -y software-properties-common
187187

.github/workflows/build.yml

Lines changed: 135 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ jobs:
3131
# 1箇所で pyi を生成してアーティファクトにアップロードして、
3232
# それを各ビルドで利用する形にする。
3333
build_pyi:
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
python_version:
38+
- "3.11"
39+
- "3.12"
40+
- "3.13"
3441
runs-on: ubuntu-24.04
3542
timeout-minutes: 15
3643
steps:
@@ -40,7 +47,7 @@ jobs:
4047
- uses: astral-sh/setup-uv@v6
4148
with:
4249
enable-cache: false
43-
- run: uv python pin 3.13
50+
- run: uv python pin ${{ matrix.python_version }}
4451
- run: uv sync
4552
- name: Generate pyi
4653
run: |
@@ -51,43 +58,46 @@ jobs:
5158
- name: Upload Artifact
5259
uses: actions/upload-artifact@v4
5360
with:
54-
name: sora_sdk
61+
name: sora_sdk_${{ matrix.python_version }}
5562
path: sora_sdk/
5663

5764
build_ubuntu:
5865
strategy:
5966
fail-fast: false
6067
matrix:
6168
platform:
62-
# - name: ubuntu-24.04_x86_64
63-
# target: ubuntu-24.04_x86_64
64-
# runs_on: ubuntu-24.04
65-
# os: ubuntu
69+
- name: ubuntu-24.04_x86_64
70+
target: ubuntu-24.04_x86_64
71+
runs_on: ubuntu-24.04
72+
os: ubuntu
73+
arch: x86_64
6674
- name: ubuntu-22.04_x86_64
6775
target: ubuntu-22.04_x86_64
6876
runs_on: ubuntu-22.04
6977
os: ubuntu
7078
arch: x86_64
79+
- name: ubuntu-24.04_armv8
80+
target: ubuntu-24.04_armv8
81+
runs_on: ubuntu-24.04
82+
os: ubuntu
83+
arch: armv8
84+
- name: ubuntu-22.04_armv8
85+
target: ubuntu-22.04_armv8
86+
runs_on: ubuntu-22.04
87+
os: ubuntu
88+
arch: armv8
7189
python_version:
7290
- "3.11"
7391
- "3.12"
7492
- "3.13"
75-
include:
76-
- platform:
77-
name: ubuntu-24.04_armv8
78-
target: ubuntu-24.04_armv8
79-
runs_on: ubuntu-24.04
80-
os: ubuntu
81-
arch: armv8
82-
python_version: "3.12"
8393
needs: [build_pyi]
8494
runs-on: ${{ matrix.platform.runs_on }}
8595
timeout-minutes: 15
8696
steps:
8797
- uses: actions/checkout@v4
8898
- uses: actions/download-artifact@v4
8999
with:
90-
name: sora_sdk
100+
name: sora_sdk_${{ matrix.python_version }}
91101
path: sora_sdk/
92102
- run: |
93103
cp sora_sdk/py.typed src/sora_sdk/py.typed
@@ -127,6 +137,63 @@ jobs:
127137
name: ${{ matrix.platform.name }}_python-${{ matrix.python_version }}
128138
path: "dist/"
129139

140+
141+
# x86_64 でビルドした Ubuntu x86_64/arm64 向けの whl をチェックする
142+
check_ubuntu_wheel:
143+
strategy:
144+
fail-fast: false
145+
matrix:
146+
# 22.04 x86_64 でクロスコンパイルした whl を 22.04 と 24.04 の x86_64/arm64 でチェックする
147+
platform:
148+
- name: ubuntu-22.04_x86_64
149+
download_name: ubuntu-22.04_x86_64
150+
runs_on: ubuntu-22.04
151+
pytag: manylinux_2_31_x86_64
152+
- name: ubuntu-22.04_armv8
153+
download_name: ubuntu-22.04_armv8
154+
runs_on: ubuntu-22.04-arm
155+
pytag: manylinux_2_31_aarch64
156+
- name: ubuntu-24.04_x86_64
157+
download_name: ubuntu-22.04_x86_64
158+
runs_on: ubuntu-24.04
159+
pytag: manylinux_2_31_x86_64
160+
- name: ubuntu-24.04_armv8
161+
download_name: ubuntu-22.04_armv8
162+
runs_on: ubuntu-24.04-arm
163+
pytag: manylinux_2_31_aarch64
164+
version:
165+
- python: "3.11"
166+
pkg: "311"
167+
- python: "3.12"
168+
pkg: "312"
169+
- python: "3.13"
170+
pkg: "313"
171+
needs: [build_ubuntu]
172+
runs-on: ${{ matrix.platform.runs_on }}
173+
timeout-minutes: 15
174+
steps:
175+
- uses: actions/checkout@v4
176+
- uses: astral-sh/setup-uv@v6
177+
with:
178+
enable-cache: false
179+
- run: |
180+
uv python pin ${{ matrix.version.python }}
181+
- uses: actions/download-artifact@v4
182+
with:
183+
name: ${{ matrix.platform.download_name }}_python-${{ matrix.version.python }}
184+
path: dist/
185+
186+
# VERSION ファイルからバージョンを取得
187+
- id: get_version
188+
run: |
189+
VERSION=$(cat VERSION)
190+
echo "version=$VERSION" >> $GITHUB_OUTPUT
191+
192+
# ここで download した whl ファイルの動作を確認する
193+
- run: |
194+
uv run --with dist/sora_sdk-${{ steps.get_version.outputs.version }}-cp${{ matrix.version.pkg }}-cp${{ matrix.version.pkg }}-${{ matrix.platform.pytag }}.whl \
195+
python3 -c "import sora_sdk; print(sora_sdk.get_video_codec_capability().to_json())"
196+
130197
build_ubuntu_arm:
131198
strategy:
132199
fail-fast: false
@@ -138,16 +205,24 @@ jobs:
138205
runs_on: ubuntu-24.04-arm
139206
os: ubuntu
140207
arch: armv8
208+
- name: ubuntu-22.04_armv8
209+
target: ubuntu-22.04_armv8
210+
# arm64 でビルド
211+
runs_on: ubuntu-22.04-arm
212+
os: ubuntu
213+
arch: armv8
141214
python_version:
215+
- "3.11"
142216
- "3.12"
217+
- "3.13"
143218
needs: [build_pyi]
144219
runs-on: ${{ matrix.platform.runs_on }}
145220
timeout-minutes: 15
146221
steps:
147222
- uses: actions/checkout@v4
148223
- uses: actions/download-artifact@v4
149224
with:
150-
name: sora_sdk
225+
name: sora_sdk_${{ matrix.python_version }}
151226
path: sora_sdk/
152227
- run: |
153228
cp sora_sdk/py.typed src/sora_sdk/py.typed
@@ -160,12 +235,12 @@ jobs:
160235
sudo apt-get -y install multistrap binutils-aarch64-linux-gnu
161236
# multistrap に insecure なリポジトリからの取得を許可する設定を入れる
162237
sudo sed -e 's/Apt::Get::AllowUnauthenticated=true/Apt::Get::AllowUnauthenticated=true";\n$config_str .= " -o Acquire::AllowInsecureRepositories=true/' -i /usr/sbin/multistrap
163-
# clang-18
164-
- name: Install clang-18
238+
# clang-19
239+
- name: Install clang-19
165240
run: |
166241
wget https://apt.llvm.org/llvm.sh
167242
chmod a+x llvm.sh
168-
sudo ./llvm.sh 18
243+
sudo ./llvm.sh 19
169244
- uses: astral-sh/setup-uv@v6
170245
with:
171246
enable-cache: false
@@ -205,7 +280,7 @@ jobs:
205280
- uses: actions/checkout@v4
206281
- uses: actions/download-artifact@v4
207282
with:
208-
name: sora_sdk
283+
name: sora_sdk_${{ matrix.python_version }}
209284
path: sora_sdk/
210285
- run: |
211286
cp sora_sdk/py.typed src/sora_sdk/py.typed
@@ -243,7 +318,7 @@ jobs:
243318
- uses: actions/checkout@v4
244319
- uses: actions/download-artifact@v4
245320
with:
246-
name: sora_sdk
321+
name: sora_sdk_${{ matrix.python_version }}
247322
path: sora_sdk/
248323

249324
- run: |
@@ -302,19 +377,15 @@ jobs:
302377
fail-fast: false
303378
matrix:
304379
platform:
305-
# - name: ubuntu-24.04_x86_64
306380
- name: ubuntu-22.04_x86_64
381+
- name: ubuntu-22.04_armv8
307382
- name: macos-15_arm64
308383
- name: macos-14_arm64
309384
- name: windows-2025
310385
python_version:
311386
- "3.11"
312387
- "3.12"
313388
- "3.13"
314-
include:
315-
- platform:
316-
name: ubuntu-24.04_armv8
317-
python_version: "3.12"
318389
runs-on: ubuntu-24.04
319390
timeout-minutes: 60
320391
steps:
@@ -352,6 +423,7 @@ jobs:
352423
SLACK_COLOR: danger
353424
SLACK_TITLE: Build failed
354425
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
426+
355427
create-release:
356428
if: contains(github.ref, 'tags/202')
357429
needs:
@@ -368,8 +440,24 @@ jobs:
368440
with: { "platform": "ubuntu-22.04_x86_64", "python_version": "3.12" }
369441
- uses: ./.github/actions/download
370442
with: { "platform": "ubuntu-22.04_x86_64", "python_version": "3.13" }
443+
- uses: ./.github/actions/download
444+
with: { "platform": "ubuntu-24.04_x86_64", "python_version": "3.11" }
445+
- uses: ./.github/actions/download
446+
with: { "platform": "ubuntu-24.04_x86_64", "python_version": "3.12" }
447+
- uses: ./.github/actions/download
448+
with: { "platform": "ubuntu-24.04_x86_64", "python_version": "3.13" }
449+
- uses: ./.github/actions/download
450+
with: { "platform": "ubuntu-22.04_armv8", "python_version": "3.11" }
451+
- uses: ./.github/actions/download
452+
with: { "platform": "ubuntu-22.04_armv8", "python_version": "3.12" }
453+
- uses: ./.github/actions/download
454+
with: { "platform": "ubuntu-22.04_armv8", "python_version": "3.13" }
455+
- uses: ./.github/actions/download
456+
with: { "platform": "ubuntu-24.04_armv8", "python_version": "3.11" }
371457
- uses: ./.github/actions/download
372458
with: { "platform": "ubuntu-24.04_armv8", "python_version": "3.12" }
459+
- uses: ./.github/actions/download
460+
with: { "platform": "ubuntu-24.04_armv8", "python_version": "3.13" }
373461
- uses: ./.github/actions/download
374462
with: { "platform": "macos-15_arm64", "python_version": "3.11" }
375463
- uses: ./.github/actions/download
@@ -394,11 +482,28 @@ jobs:
394482
cat package_paths.env >> $GITHUB_OUTPUT
395483
echo "EOF" >> $GITHUB_OUTPUT
396484
id: env
485+
- name: Release (Prerelease)
486+
if: contains(github.ref, 'dev')
487+
run: |
488+
gh release create ${{ github.ref_name }} \
489+
--title "${{ github.ref_name }}" \
490+
--prerelease \
491+
$(cat package_paths.env)
492+
env:
493+
GH_TOKEN: ${{ github.token }}
397494
- name: Release
398-
uses: softprops/action-gh-release@v2
399-
with:
400-
files: ${{ steps.env.outputs.package_paths }}
401-
prerelease: ${{ contains(github.ref, 'dev') }}
495+
if: ${{ !contains(github.ref, 'dev') }}
496+
run: |
497+
gh release create ${{ github.ref_name }} \
498+
--title "${{ github.ref_name }}" \
499+
$(cat package_paths.env)
500+
env:
501+
GH_TOKEN: ${{ github.token }}
502+
- name: Verify Release Creation
503+
run: |
504+
gh release view ${{ github.ref_name }} --json url
505+
env:
506+
GH_TOKEN: ${{ github.token }}
402507
- name: Slack Notification
403508
if: failure()
404509
uses: rtCamp/action-slack-notify@v2

.github/workflows/e2e-test-amd-amf.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@ on:
88
- "tests/test_amd_amf.py"
99
# C++ SDK のアップデートしたときテストするため
1010
- "VERSION"
11+
- "DEPS"
1112
schedule:
1213
# UTC の 01:00 は JST だと 10:00 。
1314
# 1-5 で 月曜日から金曜日
14-
- cron: "0 1 * * 1-5"
15+
# - cron: "0 1 * * 1-5"
16+
# JST 11:00-16:00 の毎時 00 分と 30 分 (UTC 02:00-07:00)
17+
- cron: "0,30 2-7 * * 1-5"
1518

1619
env:
1720
TEST_SIGNALING_URLS: ${{ secrets.TEST_SIGNALING_URLS }}

.github/workflows/e2e-test-apple-video-toolbox.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
- "tests/test_apple_video_toolbox.py"
99
# C++ SDK のアップデートしたときテストするため
1010
- "VERSION"
11+
- "DEPS"
1112
schedule:
1213
# UTC の 01:00 は JST だと 10:00 。
1314
# 1-5 で 月曜日から金曜日

.github/workflows/e2e-test-intel-vpl.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
- "tests/test_intel_vpl.py"
99
# C++ SDK のアップデートしたときテストするため
1010
- "VERSION"
11+
- "DEPS"
1112
schedule:
1213
# UTC の 01:00 は JST だと 10:00 。
1314
# 1-5 で 月曜日から金曜日

.github/workflows/e2e-test-nvidia-video-codec-sdk.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
- "tests/test_nvidia_video_codec_sdk.py"
99
# C++ SDK のアップデートしたときテストするため
1010
- "VERSION"
11+
- "DEPS"
1112
schedule:
1213
# UTC の 01:00 は JST だと 10:00 。
1314
# 1-5 で 月曜日から金曜日

0 commit comments

Comments
 (0)