Skip to content

Commit 69e4d37

Browse files
Merge pull request #56 from lil-jon-crunk/feat/v1.6.6
Add browser WebAssembly native support
2 parents 56bfee7 + d1a5764 commit 69e4d37

29 files changed

Lines changed: 375 additions & 306 deletions

File tree

.github/workflows/OpusCompile.yml

Lines changed: 56 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ permissions:
1212
contents: write
1313
packages: write
1414

15+
env:
16+
OPUS_REPOSITORY: https://gitlab.xiph.org/xiph/opus.git
17+
OPUS_VERSION: 1.6.1
18+
OPUS_REF: v1.6.1
19+
1520
jobs:
1621
Android:
1722
runs-on: ubuntu-latest
@@ -22,8 +27,8 @@ jobs:
2227
arch: [x64, x86, arm64, arm32]
2328
fail-fast: false
2429
steps:
25-
- uses: actions/checkout@v4
26-
- uses: nttld/setup-ndk@v1
30+
- uses: actions/checkout@v6.0.2
31+
- uses: nttld/setup-ndk@v1.6.0
2732
id: setup-ndk
2833
with:
2934
ndk-version: r28c
@@ -48,7 +53,7 @@ jobs:
4853
run: mkdir build
4954

5055
- name: Clone Repository
51-
run: git clone https://github.com/xiph/opus.git
56+
run: git clone --branch ${{ env.OPUS_REF }} --depth 1 ${{ env.OPUS_REPOSITORY }} opus
5257

5358
- name: Autogen
5459
run: ./opus/autogen.sh
@@ -80,7 +85,7 @@ jobs:
8085
run: sudo apt install llvm && llvm-objdump -p libopus.so | grep LOAD
8186

8287
- name: Upload Artifact
83-
uses: actions/upload-artifact@v4
88+
uses: actions/upload-artifact@v7.0.1
8489
with:
8590
name: android-${{ matrix.arch }}-libopus.so
8691
path: ./build/libopus.so
@@ -92,7 +97,7 @@ jobs:
9297
arch: [x64, x86, arm64, arm32]
9398
fail-fast: false
9499
steps:
95-
- uses: actions/checkout@v4
100+
- uses: actions/checkout@v6.0.2
96101

97102
# Not much I can do to reduce the bloat.
98103
- name: Setup Environment
@@ -121,7 +126,7 @@ jobs:
121126
run: mkdir build
122127

123128
- name: Clone Repository
124-
run: git clone https://github.com/xiph/opus.git
129+
run: git clone --branch ${{ env.OPUS_REF }} --depth 1 ${{ env.OPUS_REPOSITORY }} opus
125130

126131
- name: Autogen
127132
run: ./opus/autogen.sh
@@ -158,7 +163,7 @@ jobs:
158163
-lm
159164
160165
- name: Upload Artifact
161-
uses: actions/upload-artifact@v4
166+
uses: actions/upload-artifact@v7.0.1
162167
with:
163168
name: linux-${{ matrix.arch }}-opus.so
164169
path: ./build/opus.so
@@ -170,7 +175,7 @@ jobs:
170175
arch: [x64, x86, arm64] # Disabled arm32
171176
fail-fast: false
172177
steps:
173-
- uses: actions/checkout@v4
178+
- uses: actions/checkout@v6.0.2
174179

175180
# Not much I can do to reduce the bloat.
176181
- name: Setup Environment
@@ -189,7 +194,7 @@ jobs:
189194
run: mkdir build
190195

191196
- name: Clone Repository
192-
run: git clone https://github.com/xiph/opus.git
197+
run: git clone --branch ${{ env.OPUS_REF }} --depth 1 ${{ env.OPUS_REPOSITORY }} opus
193198

194199
- name: Autogen
195200
run: ./opus/autogen.bat
@@ -220,7 +225,7 @@ jobs:
220225
link /DLL /OUT:opus.dll /DEF:opus.def opus_shim.obj Release\opus.lib ucrt.lib vcruntime.lib msvcrt.lib
221226
222227
- name: Upload Artifact
223-
uses: actions/upload-artifact@v4
228+
uses: actions/upload-artifact@v7.0.1
224229
with:
225230
name: win-${{ matrix.arch }}-opus.dll
226231
path: ./build/opus.dll
@@ -232,7 +237,7 @@ jobs:
232237
arch: [x64, arm64]
233238
fail-fast: false
234239
steps:
235-
- uses: actions/checkout@v4
240+
- uses: actions/checkout@v6.0.2
236241

237242
# Not much I can do to reduce the bloat.
238243
- name: Setup Environment
@@ -248,7 +253,7 @@ jobs:
248253
run: mkdir build
249254

250255
- name: Clone Repository
251-
run: git clone https://github.com/xiph/opus.git
256+
run: git clone --branch ${{ env.OPUS_REF }} --depth 1 ${{ env.OPUS_REPOSITORY }} opus
252257

253258
- name: Autogen
254259
run: ./opus/autogen.sh
@@ -271,7 +276,7 @@ jobs:
271276
-install_name @rpath/opus.dylib
272277
273278
- name: Upload Artifact
274-
uses: actions/upload-artifact@v4
279+
uses: actions/upload-artifact@v7.0.1
275280
with:
276281
name: macos-${{ matrix.arch }}-opus.dylib
277282
path: ./build/opus.dylib
@@ -283,7 +288,7 @@ jobs:
283288
target: [device, simulator-arm64, simulator-x86_64]
284289
fail-fast: false
285290
steps:
286-
- uses: actions/checkout@v4
291+
- uses: actions/checkout@v6.0.2
287292

288293
- name: Setup Environment
289294
run: |
@@ -306,15 +311,13 @@ jobs:
306311
run: mkdir build
307312

308313
- name: Clone Repository
309-
run: git clone https://github.com/xiph/opus.git
314+
run: git clone --branch ${{ env.OPUS_REF }} --depth 1 ${{ env.OPUS_REPOSITORY }} opus
310315

311316
- name: Generate Build Scripts
312317
run: |
313318
export PATH="/opt/homebrew/bin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH"
314319
cd ./opus
315-
git fetch --tags --force
316-
OPUS_VERSION="$(git describe --tags --always --match 'v*' | sed 's/^v//')"
317-
echo "PACKAGE_VERSION=\"$OPUS_VERSION\"" > package_version
320+
echo "PACKAGE_VERSION=\"${{ env.OPUS_VERSION }}\"" > package_version
318321
autoreconf -isf
319322
320323
- name: Build Static Library
@@ -408,7 +411,7 @@ jobs:
408411
409412
410413
- name: Upload Artifact
411-
uses: actions/upload-artifact@v4
414+
uses: actions/upload-artifact@v7.0.1
412415
with:
413416
name: ${{ env.OUTPUT_NAME }}-libopus.a
414417
path: ./build/.libs/libopus.a
@@ -417,25 +420,25 @@ jobs:
417420
runs-on: macos-latest
418421
needs: iOS
419422
steps:
420-
- uses: actions/checkout@v4
423+
- uses: actions/checkout@v6.0.2
421424

422425
- name: Clone opus for headers
423-
run: git clone --depth 1 https://github.com/xiph/opus.git
426+
run: git clone --branch ${{ env.OPUS_REF }} --depth 1 ${{ env.OPUS_REPOSITORY }} opus
424427

425428
- name: Download device artifact
426-
uses: actions/download-artifact@v4
429+
uses: actions/download-artifact@v8.0.1
427430
with:
428431
name: ios-device-arm64-libopus.a
429432
path: device
430433

431434
- name: Download simulator-arm64 artifact
432-
uses: actions/download-artifact@v4
435+
uses: actions/download-artifact@v8.0.1
433436
with:
434437
name: ios-simulator-arm64-libopus.a
435438
path: sim_arm64
436439

437440
- name: Download simulator-x86_64 artifact
438-
uses: actions/download-artifact@v4
441+
uses: actions/download-artifact@v8.0.1
439442
with:
440443
name: ios-simulator-x86_64-libopus.a
441444
path: sim_x86
@@ -471,22 +474,22 @@ jobs:
471474
ls -laR universal/
472475
473476
- name: Upload Universal Artifact
474-
uses: actions/upload-artifact@v4
477+
uses: actions/upload-artifact@v7.0.1
475478
with:
476479
name: ios-universal-libopus
477480
path: universal/*
478481

479482
Wasm:
480483
runs-on: ubuntu-latest
481484
steps:
482-
- uses: actions/checkout@v4
483-
- uses: mymindstorm/setup-emsdk@v14
485+
- uses: actions/checkout@v6.0.2
486+
- uses: mymindstorm/setup-emsdk@v16
484487

485488
- name: Create Build Dir
486489
run: mkdir build
487490

488491
- name: Clone Repository
489-
run: git clone https://github.com/xiph/opus.git
492+
run: git clone --branch ${{ env.OPUS_REF }} --depth 1 ${{ env.OPUS_REPOSITORY }} opus
490493

491494
- name: Autogen
492495
run: ./opus/autogen.sh
@@ -506,7 +509,7 @@ jobs:
506509
emar rcs libopus.a opus_shim.o
507510
508511
- name: Upload Artifact
509-
uses: actions/upload-artifact@v4
512+
uses: actions/upload-artifact@v7.0.1
510513
with:
511514
name: wasm-libopus.a
512515
path: ./build/libopus.a
@@ -515,99 +518,106 @@ jobs:
515518
runs-on: ubuntu-latest
516519
needs: [Android, iOS-universal, MacOS, Linux, Windows, Wasm]
517520
steps:
518-
- uses: actions/checkout@v4
521+
- uses: actions/checkout@v6.0.2
519522

520523
# Android
521524
- name: Download android-arm32-libopus.so
522-
uses: actions/download-artifact@v4
525+
uses: actions/download-artifact@v8.0.1
523526
with:
524527
name: android-arm32-libopus.so
525528
path: runtimes/android-arm/native
526529

527530
- name: Download android-arm64-libopus.so
528-
uses: actions/download-artifact@v4
531+
uses: actions/download-artifact@v8.0.1
529532
with:
530533
name: android-arm64-libopus.so
531534
path: runtimes/android-arm64/native
532535

533536
- name: Download android-x64-libopus.so
534-
uses: actions/download-artifact@v4
537+
uses: actions/download-artifact@v8.0.1
535538
with:
536539
name: android-x64-libopus.so
537540
path: runtimes/android-x64/native
538541

539542
- name: Download android-x86-libopus.so
540-
uses: actions/download-artifact@v4
543+
uses: actions/download-artifact@v8.0.1
541544
with:
542545
name: android-x86-libopus.so
543546
path: runtimes/android-x86/native
544547

545548
# iOS
546549
- name: Download ios-universal-libopus
547-
uses: actions/download-artifact@v4
550+
uses: actions/download-artifact@v8.0.1
548551
with:
549552
name: ios-universal-libopus
550553
path: runtimes/ios/native
551554

552555
# Linux
553556
- name: Download linux-arm32-opus.so
554-
uses: actions/download-artifact@v4
557+
uses: actions/download-artifact@v8.0.1
555558
with:
556559
name: linux-arm32-opus.so
557560
path: runtimes/linux-arm/native
558561

559562
- name: Download linux-arm64-opus.so
560-
uses: actions/download-artifact@v4
563+
uses: actions/download-artifact@v8.0.1
561564
with:
562565
name: linux-arm64-opus.so
563566
path: runtimes/linux-arm64/native
564567

565568
- name: Download linux-x64-opus.so
566-
uses: actions/download-artifact@v4
569+
uses: actions/download-artifact@v8.0.1
567570
with:
568571
name: linux-x64-opus.so
569572
path: runtimes/linux-x64/native
570573

571574
- name: Download linux-x86-opus.so
572-
uses: actions/download-artifact@v4
575+
uses: actions/download-artifact@v8.0.1
573576
with:
574577
name: linux-x86-opus.so
575578
path: runtimes/linux-x86/native
576579

577580
# MacOS
578581
- name: Download macos-arm64-opus.dylib
579-
uses: actions/download-artifact@v4
582+
uses: actions/download-artifact@v8.0.1
580583
with:
581584
name: macos-arm64-opus.dylib
582585
path: runtimes/osx-arm64/native
583586

584587
- name: Download macos-x64-opus.dylib
585-
uses: actions/download-artifact@v4
588+
uses: actions/download-artifact@v8.0.1
586589
with:
587590
name: macos-x64-opus.dylib
588591
path: runtimes/osx-x64/native
589592

590593
# Windows
591594
- name: Download win-arm64-opus.dll
592-
uses: actions/download-artifact@v4
595+
uses: actions/download-artifact@v8.0.1
593596
with:
594597
name: win-arm64-opus.dll
595598
path: runtimes/win-arm64/native
596599

597600
- name: Download win-x64-opus.dll
598-
uses: actions/download-artifact@v4
601+
uses: actions/download-artifact@v8.0.1
599602
with:
600603
name: win-x64-opus.dll
601604
path: runtimes/win-x64/native
602605

603606
- name: Download win-x86-opus.dll
604-
uses: actions/download-artifact@v4
607+
uses: actions/download-artifact@v8.0.1
605608
with:
606609
name: win-x86-opus.dll
607610
path: runtimes/win-x86/native
611+
612+
# WASM
613+
- name: Download wasm-libopus.a
614+
uses: actions/download-artifact@v8.0.1
615+
with:
616+
name: wasm-libopus.a
617+
path: runtimes/browser-wasm/native
608618

609619
- name: Upload Artifact
610-
uses: actions/upload-artifact@v4
620+
uses: actions/upload-artifact@v7.0.1
611621
with:
612622
name: All-Runtimes
613-
path: ./runtimes
623+
path: ./runtimes

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ jobs:
1414
os: [ubuntu-latest, windows-latest, macos-latest]
1515
runs-on: ${{ matrix.os }}
1616
steps:
17-
- uses: actions/checkout@v4
18-
- uses: actions/setup-dotnet@v4
17+
- uses: actions/checkout@v6.0.2
18+
- uses: actions/setup-dotnet@v5.2.0
1919
with:
2020
dotnet-version: 9.0.x
2121
- name: Run core tests
@@ -24,8 +24,8 @@ jobs:
2424
smoke-apple:
2525
runs-on: macos-latest
2626
steps:
27-
- uses: actions/checkout@v4
28-
- uses: actions/setup-dotnet@v4
27+
- uses: actions/checkout@v6.0.2
28+
- uses: actions/setup-dotnet@v5.2.0
2929
with:
3030
dotnet-version: 9.0.x
3131
- name: Install iOS workload

.github/workflows/deploy-site.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ jobs:
2424
runs-on: ubuntu-latest
2525
steps:
2626
- name: Checkout
27-
uses: actions/checkout@v3
27+
uses: actions/checkout@v6.0.2
2828
- name: Dotnet Setup
29-
uses: actions/setup-dotnet@v3
29+
uses: actions/setup-dotnet@v5.2.0
3030
with:
3131
dotnet-version: 8.x
3232

3333
- run: dotnet tool update -g docfx
3434
- run: docfx ./docs/docfx.json
3535

3636
- name: Upload artifact
37-
uses: actions/upload-pages-artifact@v3
37+
uses: actions/upload-pages-artifact@v5.0.0
3838
with:
3939
# Upload entire repository
4040
path: './docs/_site'
4141
- name: Deploy to GitHub Pages
4242
id: deployment
43-
uses: actions/deploy-pages@v4
43+
uses: actions/deploy-pages@v5.0.0

0 commit comments

Comments
 (0)