566 lines
15 KiB
YAML
566 lines
15 KiB
YAML
name: release-dart
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- ci-pub-dart
|
|
tags:
|
|
- 'dart-v[0-9]+.[0-9]+.[0-9]+*' # tag-pattern on pub.dev: 'v{{version}}'
|
|
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: release-dart-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
sherpa_onnx_linux:
|
|
# if: false
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
name: sherpa_onnx_linux
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- 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_linux
|
|
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_linux
|
|
|
|
mkdir $dst/example
|
|
|
|
cp -v flutter/sherpa_onnx/example/* $dst/example
|
|
cp -v LICENSE $dst/
|
|
cp -v CHANGELOG.md $dst/
|
|
|
|
git status
|
|
|
|
- name: Build sherpa-onnx
|
|
uses: addnab/docker-run-action@v3
|
|
with:
|
|
image: quay.io/pypa/manylinux2014_x86_64
|
|
options: |
|
|
--volume ${{ github.workspace }}/:/home/runner/work/sherpa-onnx/sherpa-onnx
|
|
shell: bash
|
|
run: |
|
|
uname -a
|
|
gcc --version
|
|
cmake --version
|
|
cat /etc/*release
|
|
id
|
|
pwd
|
|
|
|
cd /home/runner/work/sherpa-onnx/sherpa-onnx
|
|
|
|
mkdir build
|
|
cd build
|
|
|
|
cmake \
|
|
-D SHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
|
|
-D SHERPA_ONNX_ENABLE_TTS=ON \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D BUILD_SHARED_LIBS=ON \
|
|
-D CMAKE_INSTALL_PREFIX=./install \
|
|
-D SHERPA_ONNX_ENABLE_JNI=OFF \
|
|
-D SHERPA_ONNX_ENABLE_BINARY=OFF \
|
|
..
|
|
|
|
make -j2
|
|
make install
|
|
|
|
ls -lh ./install/lib
|
|
|
|
- name: Copy pre-built libs
|
|
shell: bash
|
|
run: |
|
|
cp -v build/install/lib/lib*.so* flutter/sherpa_onnx_linux/linux/
|
|
|
|
mv -v flutter/sherpa_onnx_linux /tmp/to_be_published
|
|
|
|
ls -lh /tmp/to_be_published/linux
|
|
|
|
- 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
|
|
flutter pub get
|
|
flutter pub publish --dry-run
|
|
flutter pub publish --force
|
|
|
|
sherpa_onnx_macos:
|
|
# if: false
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
name: sherpa_onnx_macos
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
|
with:
|
|
key: ${{ matrix.os }}-flutter-release-package
|
|
|
|
- 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_macos
|
|
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_macos
|
|
|
|
mkdir $dst/example
|
|
|
|
cp -v flutter/sherpa_onnx/example/* $dst/example
|
|
cp -v LICENSE $dst/
|
|
cp -v CHANGELOG.md $dst/
|
|
|
|
git status
|
|
|
|
- name: Configure CMake
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
|
|
mkdir build
|
|
cd build
|
|
cmake \
|
|
-D SHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
|
|
-D SHERPA_ONNX_ENABLE_TTS=ON \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D BUILD_SHARED_LIBS=ON \
|
|
-D CMAKE_INSTALL_PREFIX=./install \
|
|
-D SHERPA_ONNX_ENABLE_JNI=OFF \
|
|
-D SHERPA_ONNX_ENABLE_BINARY=OFF \
|
|
-D CMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
|
|
..
|
|
|
|
- name: Build sherpa-onnx
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
|
|
cd build
|
|
make -j2 install
|
|
|
|
ls -lh install/lib/libsherpa-onnx-c-api.dylib
|
|
file install/lib/libsherpa-onnx-c-api.dylib
|
|
rm -v install/lib/libonnxruntime.dylib
|
|
|
|
- name: Copy pre-built libs
|
|
shell: bash
|
|
run: |
|
|
cp -v build/install/lib/lib*.dylib* flutter/sherpa_onnx_macos/macos/
|
|
|
|
mv -v flutter/sherpa_onnx_macos /tmp/to_be_published
|
|
|
|
ls -lh /tmp/to_be_published/macos
|
|
|
|
- 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_windows:
|
|
# if: false
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
name: sherpa_onnx_windows
|
|
runs-on: windows-2022
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- 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_windows
|
|
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_windows
|
|
|
|
mkdir $dst/example
|
|
|
|
cp -v flutter/sherpa_onnx/example/* $dst/example
|
|
cp -v LICENSE $dst/
|
|
cp -v CHANGELOG.md $dst/
|
|
|
|
git status
|
|
|
|
- name: Configure CMake
|
|
shell: bash
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake \
|
|
-D SHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
|
|
-D SHERPA_ONNX_ENABLE_TTS=ON \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D BUILD_SHARED_LIBS=ON \
|
|
-D CMAKE_INSTALL_PREFIX=./install \
|
|
-D SHERPA_ONNX_ENABLE_JNI=OFF \
|
|
-D SHERPA_ONNX_ENABLE_BINARY=OFF \
|
|
..
|
|
|
|
- name: Build sherpa-onnx
|
|
shell: bash
|
|
run: |
|
|
cd build
|
|
cmake --build . --target install --config Release -- -m:2
|
|
|
|
ls -lh install/lib/*.dll
|
|
|
|
- name: Copy pre-built libs
|
|
shell: bash
|
|
run: |
|
|
cp -v build/install/lib/*.dll flutter/sherpa_onnx_windows/windows/
|
|
mv -v flutter/sherpa_onnx_windows /tmp/to_be_published
|
|
|
|
ls -lh /tmp/to_be_published/windows
|
|
|
|
- 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
|
|
flutter pub get
|
|
flutter pub publish --dry-run
|
|
flutter pub publish --force
|
|
|
|
sherpa_onnx_android:
|
|
# if: false
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
name: sherpa_onnx_android
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
|
with:
|
|
key: ${{ matrix.os }}-flutter-release-package-android
|
|
|
|
- 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
|
|
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
|
|
|
|
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-arm64-v8a
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
|
|
export SHERPA_ONNX_ENABLE_C_API=ON
|
|
export SHERPA_ONNX_ENABLE_JNI=OFF
|
|
export SHERPA_ONNX_ENABLE_BINARY=OFF
|
|
|
|
./build-android-arm64-v8a.sh
|
|
|
|
- name: Build android-armv7-eabi
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
|
|
export SHERPA_ONNX_ENABLE_C_API=ON
|
|
export SHERPA_ONNX_ENABLE_JNI=OFF
|
|
export SHERPA_ONNX_ENABLE_BINARY=OFF
|
|
|
|
./build-android-armv7-eabi.sh
|
|
|
|
- name: Build android-x86
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
|
|
export SHERPA_ONNX_ENABLE_C_API=ON
|
|
export SHERPA_ONNX_ENABLE_JNI=OFF
|
|
export SHERPA_ONNX_ENABLE_BINARY=OFF
|
|
|
|
./build-android-x86.sh
|
|
|
|
- name: Build android-x86-64
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
|
|
export SHERPA_ONNX_ENABLE_C_API=ON
|
|
export SHERPA_ONNX_ENABLE_JNI=OFF
|
|
export SHERPA_ONNX_ENABLE_BINARY=OFF
|
|
|
|
./build-android-x86-64.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/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
|
|
|
|
mv -v flutter/sherpa_onnx_android /tmp/to_be_published
|
|
|
|
ls -lh /tmp/to_be_published
|
|
|
|
- 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_ios:
|
|
# if: false
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
name: sherpa_onnx_ios
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
|
with:
|
|
key: ${{ matrix.os }}-flutter-release-package-ios
|
|
|
|
- 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_ios
|
|
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_ios
|
|
|
|
mkdir $dst/example
|
|
|
|
cp -v flutter/sherpa_onnx/example/* $dst/example
|
|
cp -v LICENSE $dst/
|
|
cp -v CHANGELOG.md $dst/
|
|
|
|
git status
|
|
|
|
- name: Build ios
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
./build-ios-shared.sh
|
|
|
|
- name: Copy pre-built libs
|
|
shell: bash
|
|
run: |
|
|
echo "----ios arm64 and arm64_x64_simulator----"
|
|
cp -av build-ios-shared/sherpa_onnx.xcframework flutter/sherpa_onnx_ios/ios/
|
|
|
|
mv -v flutter/sherpa_onnx_ios /tmp/to_be_published
|
|
|
|
ls -lh /tmp/to_be_published
|
|
|
|
- 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:
|
|
needs: [sherpa_onnx_linux, sherpa_onnx_macos, sherpa_onnx_windows, sherpa_onnx_android, sherpa_onnx_ios]
|
|
# if: false
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
name: sherpa_onnx
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Flutter SDK
|
|
uses: flutter-actions/setup-flutter@v3
|
|
with:
|
|
channel: stable
|
|
version: latest
|
|
|
|
- uses: dart-lang/setup-dart@v1
|
|
|
|
- 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
|
|
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
|
|
|
|
cp -v LICENSE $dst/
|
|
cp -v CHANGELOG.md $dst/
|
|
cp -v README.md $dst/
|
|
|
|
git status
|
|
|
|
mv -v flutter/sherpa_onnx /tmp/to_be_published
|
|
|
|
ls -lh /tmp/to_be_published
|
|
|
|
- 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
|