Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
290 changes: 273 additions & 17 deletions .github/workflows/release-dart-package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ concurrency:

jobs:
build_linux_libs_x64:
# if: false
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -439,11 +440,11 @@ jobs:
flutter pub publish --dry-run
flutter pub publish --force

sherpa_onnx_android:
sherpa_onnx_android_arm64:
# if: false
permissions:
id-token: write # Required for authentication using OIDC
name: sherpa_onnx_android
name: sherpa_onnx_android_arm64
runs-on: ubuntu-latest

steps:
Expand All @@ -458,14 +459,14 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ matrix.os }}-flutter-release-package-android
key: flutter-release-package-android-arm64

- name: Fix version
shell: bash
run: |
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)

src_dir=$PWD/flutter/sherpa_onnx_android
src_dir=$PWD/flutter/sherpa_onnx_android_arm64
pushd $src_dir
v="version: $SHERPA_ONNX_VERSION"
echo "v: $v"
Expand All @@ -477,7 +478,7 @@ jobs:
- name: Copy extra files
shell: bash
run: |
dst=flutter/sherpa_onnx_android
dst=flutter/sherpa_onnx_android_arm64

mkdir $dst/example

Expand All @@ -500,6 +501,91 @@ jobs:

./build-android-arm64-v8a.sh

- name: Copy pre-built libs
shell: bash
run: |
echo "----arm64-v8a----"
cp -v build-android-arm64-v8a/install/lib/lib*.so flutter/sherpa_onnx_android_arm64/android/src/main/jniLibs/arm64-v8a/

mv -v flutter/sherpa_onnx_android_arm64 /tmp/to_be_published

ls -lh /tmp/to_be_published

cd /tmp
tar cjfv android_arm64.tar.bz2 ./to_be_published
ls -lh android_arm64.tar.bz2

- uses: actions/upload-artifact@v4
with:
name: android-arm64
path: /tmp/android_arm64.tar.bz2

- name: Setup Flutter SDK
uses: flutter-actions/setup-flutter@v3
with:
channel: stable
version: latest

- uses: dart-lang/setup-dart@v1

- name: Release
shell: bash
run: |
cd /tmp/to_be_published
du -h -d1 .

flutter pub get
flutter pub publish --dry-run
flutter pub publish --force

sherpa_onnx_android_armeabi:
# if: false
permissions:
id-token: write # Required for authentication using OIDC
name: sherpa_onnx_android_armeabi
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Update version
shell: bash
run: |
./new-release.sh
git diff .

- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: flutter-release-package-android-armeabi

- name: Fix version
shell: bash
run: |
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)

src_dir=$PWD/flutter/sherpa_onnx_android_armeabi
pushd $src_dir
v="version: $SHERPA_ONNX_VERSION"
echo "v: $v"
sed -i.bak s"/^version: .*/$v/" ./pubspec.yaml
rm *.bak
git status
git diff

- name: Copy extra files
shell: bash
run: |
dst=flutter/sherpa_onnx_android_armeabi

mkdir $dst/example

cp -v flutter/sherpa_onnx/example/* $dst/example
cp -v LICENSE $dst/
cp -v CHANGELOG.md $dst/

git status

- name: Build android-armv7-eabi
shell: bash
run: |
Expand All @@ -513,6 +599,91 @@ jobs:

./build-android-armv7-eabi.sh

- name: Copy pre-built libs
shell: bash
run: |
echo "----armv7-eabi----"
cp -v build-android-armv7-eabi/install/lib/lib*.so flutter/sherpa_onnx_android_armeabi/android/src/main/jniLibs/armeabi-v7a/

mv -v flutter/sherpa_onnx_android_armeabi /tmp/to_be_published

ls -lh /tmp/to_be_published

cd /tmp
tar cjfv android_armeabi.tar.bz2 ./to_be_published
ls -lh android_armeabi.tar.bz2

- uses: actions/upload-artifact@v4
with:
name: android-armeabi
path: /tmp/android_armeabi.tar.bz2

- name: Setup Flutter SDK
uses: flutter-actions/setup-flutter@v3
with:
channel: stable
version: latest

- uses: dart-lang/setup-dart@v1

- name: Release
shell: bash
run: |
cd /tmp/to_be_published
du -h -d1 .

flutter pub get
flutter pub publish --dry-run
flutter pub publish --force

sherpa_onnx_android_x86:
# if: false
permissions:
id-token: write # Required for authentication using OIDC
name: sherpa_onnx_android_x86
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Update version
shell: bash
run: |
./new-release.sh
git diff .

- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: flutter-release-package-android-x86

- name: Fix version
shell: bash
run: |
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)

src_dir=$PWD/flutter/sherpa_onnx_android_x86
pushd $src_dir
v="version: $SHERPA_ONNX_VERSION"
echo "v: $v"
sed -i.bak s"/^version: .*/$v/" ./pubspec.yaml
rm *.bak
git status
git diff

- name: Copy extra files
shell: bash
run: |
dst=flutter/sherpa_onnx_android_x86

mkdir $dst/example

cp -v flutter/sherpa_onnx/example/* $dst/example
cp -v LICENSE $dst/
cp -v CHANGELOG.md $dst/

git status

- name: Build android-x86
shell: bash
run: |
Expand All @@ -526,6 +697,91 @@ jobs:

./build-android-x86.sh

- name: Copy pre-built libs
shell: bash
run: |
echo "----x86----"
cp -v build-android-x86/install/lib/lib*.so flutter/sherpa_onnx_android_x86/android/src/main/jniLibs/x86/

mv -v flutter/sherpa_onnx_android_x86 /tmp/to_be_published

ls -lh /tmp/to_be_published

cd /tmp
tar cjfv android_x86.tar.bz2 ./to_be_published
ls -lh *.tar.bz2

- uses: actions/upload-artifact@v4
with:
name: android-x86
path: /tmp/android_x86.tar.bz2

- name: Setup Flutter SDK
uses: flutter-actions/setup-flutter@v3
with:
channel: stable
version: latest

- uses: dart-lang/setup-dart@v1

- name: Release
shell: bash
run: |
cd /tmp/to_be_published
du -h -d1 .

flutter pub get
flutter pub publish --dry-run
flutter pub publish --force

sherpa_onnx_android_x86_64:
# if: false
permissions:
id-token: write # Required for authentication using OIDC
name: sherpa_onnx_android_x86_64
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Update version
shell: bash
run: |
./new-release.sh
git diff .

- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: flutter-release-package-android-x86_64

- name: Fix version
shell: bash
run: |
SHERPA_ONNX_VERSION=$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2)

src_dir=$PWD/flutter/sherpa_onnx_android_x86_64
pushd $src_dir
v="version: $SHERPA_ONNX_VERSION"
echo "v: $v"
sed -i.bak s"/^version: .*/$v/" ./pubspec.yaml
rm *.bak
git status
git diff

- name: Copy extra files
shell: bash
run: |
dst=flutter/sherpa_onnx_android_x86_64

mkdir $dst/example

cp -v flutter/sherpa_onnx/example/* $dst/example
cp -v LICENSE $dst/
cp -v CHANGELOG.md $dst/

git status

- name: Build android-x86-64
shell: bash
run: |
Expand All @@ -542,22 +798,22 @@ jobs:
- name: Copy pre-built libs
shell: bash
run: |
echo "----arm64-v8a----"
cp -v build-android-arm64-v8a/install/lib/lib*.so flutter/sherpa_onnx_android/android/src/main/jniLibs/arm64-v8a/

echo "----armv7-eabi----"
cp -v build-android-armv7-eabi/install/lib/lib*.so flutter/sherpa_onnx_android/android/src/main/jniLibs/armeabi-v7a

echo "----x86----"
cp -v build-android-x86/install/lib/lib*.so flutter/sherpa_onnx_android/android/src/main/jniLibs/x86

echo "----x86_64----"
cp -v build-android-x86-64/install/lib/lib*.so flutter/sherpa_onnx_android/android/src/main/jniLibs/x86_64
cp -v build-android-x86-64/install/lib/lib*.so flutter/sherpa_onnx_android_x86_64/android/src/main/jniLibs/x86_64/

mv -v flutter/sherpa_onnx_android /tmp/to_be_published
mv -v flutter/sherpa_onnx_android_x86_64 /tmp/to_be_published

ls -lh /tmp/to_be_published

cd /tmp
tar cjfv android_x64.tar.bz2 ./to_be_published
ls -lh *.tar.bz2

- uses: actions/upload-artifact@v4
with:
name: android-x64
path: /tmp/android_x64.tar.bz2
Comment on lines +808 to +815

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Inconsistent artifact naming for the x86_64 job.

The other three ABI jobs produce android_arm64.tar.bz2, android_armeabi.tar.bz2, android_x86.tar.bz2 and upload artifacts named android-arm64/android-armeabi/android-x86. This job uses android_x64.tar.bz2 / android-x64, which is ambiguous (x64 is generally understood as desktop x86_64, but here it refers to the Android x86_64 ABI whose directory is x86_64). Renaming to android_x86_64.tar.bz2 / android-x86-64 would match the job, directory, and package naming (sherpa_onnx_android_x86_64, jniLibs/x86_64).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release-dart-package.yaml around lines 808 - 815, Rename
the ambiguous x64 artifact to match the Android x86_64 ABI: change the tarball
name from android_x64.tar.bz2 to android_x86_64.tar.bz2 and update the
upload-artifact step's name from android-x64 to android-x86-64 (the
actions/upload-artifact@v4 block and the tar cjfv invocation that currently
reference android_x64 should be updated) so the artifact, directory
(jniLibs/x86_64) and package naming (sherpa_onnx_android_x86_64) are consistent.


- name: Setup Flutter SDK
uses: flutter-actions/setup-flutter@v3
with:
Expand Down Expand Up @@ -661,7 +917,7 @@ jobs:
flutter pub publish --force

sherpa_onnx:
needs: [sherpa_onnx_linux, sherpa_onnx_macos, sherpa_onnx_windows, sherpa_onnx_android, sherpa_onnx_ios]
needs: [sherpa_onnx_linux, sherpa_onnx_macos, sherpa_onnx_windows, sherpa_onnx_android_arm64, sherpa_onnx_android_armeabi, sherpa_onnx_android_x86, sherpa_onnx_android_x86_64, sherpa_onnx_ios]
# if: false
permissions:
id-token: write # Required for authentication using OIDC
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/tauri-vad-asr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ jobs:

- uses: dtolnay/rust-toolchain@stable

- name: Install Python dependencies
shell: bash
run: |
if [[ "${{ runner.os }}" == "macOS" ]]; then
python3 -m pip install --upgrade --break-system-packages pip jinja2 pillow
else
python3 -m pip install --upgrade pip jinja2 pillow
fi

- name: Install Tauri CLI
shell: bash
run: |
Expand Down
7 changes: 5 additions & 2 deletions flutter/notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,13 @@ flutter create --template plugin_ffi --platforms linux sherpa_onnx_linux
flutter create --template plugin_ffi --platforms linux sherpa_onnx_windows
```

5. Create `sherpa_onnx_android`
5. Create `sherpa_onnx_android_arm64`, `sherpa_onnx_android_armeabi`, `sherpa_onnx_android_x86`, `sherpa_onnx_android_x86_64`

```bash
flutter create --template plugin_ffi --platforms android --org com.k2fsa.sherpa.onnx sherpa_onnx_android
flutter create --template plugin_ffi --platforms android --org com.k2fsa.sherpa.onnx sherpa_onnx_android_arm64
flutter create --template plugin_ffi --platforms android --org com.k2fsa.sherpa.onnx sherpa_onnx_android_armeabi
flutter create --template plugin_ffi --platforms android --org com.k2fsa.sherpa.onnx sherpa_onnx_android_x86
flutter create --template plugin_ffi --platforms android --org com.k2fsa.sherpa.onnx sherpa_onnx_android_x86_64
```

6. Create `sherpa_onnx_ios`
Expand Down
Loading