name: swift on: push: branches: - master tags: - 'v[0-9]+.[0-9]+.[0-9]+*' paths: - './build-swift-macos.sh' - '.github/workflows/swift.yaml' - 'cmake/**' - 'swift-api-examples/**' - 'sherpa-onnx/csrc/*' - 'sherpa-onnx/c-api/**' - '.github/scripts/test-swift.sh' pull_request: branches: - master paths: - './build-swift-macos.sh' - '.github/workflows/swift.yaml' - 'cmake/**' - 'swift-api-examples/**' - 'sherpa-onnx/csrc/*' - 'sherpa-onnx/c-api/**' - '.github/scripts/test-swift.sh' workflow_dispatch: concurrency: group: swift-${{ github.ref }} cancel-in-progress: true jobs: swift: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-latest, macos-13] steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: key: ${{ matrix.os }}-swift - name: Build shell: bash run: | sudo mkdir -p /Users/fangjun/Desktop sudo chmod a=rwx /Users/fangjun/Desktop ls -lhd /Users/fangjun/Desktop ls -lh /Users/fangjun/Desktop export CMAKE_CXX_COMPILER_LAUNCHER=ccache export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --version ./build-swift-macos.sh - name: Copy files if: matrix.os == 'macos-13' && (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && github.event_name == 'push' && contains(github.ref, 'refs/tags/') shell: bash run: | SHERPA_ONNX_VERSION=v$(grep "SHERPA_ONNX_VERSION" ./CMakeLists.txt | cut -d " " -f 2 | cut -d '"' -f 2) dst=sherpa-onnx-${SHERPA_ONNX_VERSION}-macos-xcframework-static mkdir $dst mv -v build-swift-macos/sherpa-onnx.xcframework $dst brew install tree tree $dst tar cjvf ${dst}.tar.bz2 $dst - name: Release pre-compiled binaries and libs for macOS if: matrix.os == 'macos-13' && (github.repository_owner == 'csukuangfj' || github.repository_owner == 'k2-fsa') && github.event_name == 'push' && contains(github.ref, 'refs/tags/') uses: svenstaro/upload-release-action@v2 with: file_glob: true overwrite: true file: sherpa-onnx-*macos-xcframework-static.tar.bz2 - name: test shell: bash run: | .github/scripts/test-swift.sh