rotaryembed layer #1666
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: android | |
| on: | |
| push: | |
| branches: [master] | |
| paths: | |
| - '.github/workflows/android.yml' | |
| - 'CMakeLists.txt' | |
| - 'cmake/**' | |
| - 'src/*' | |
| - 'src/layer/*' | |
| - 'src/layer/arm/**' | |
| - 'src/layer/riscv/**' | |
| - 'src/layer/x86/**' | |
| - 'src/layer/vulkan/**' | |
| pull_request: | |
| branches: [master] | |
| paths: | |
| - '.github/workflows/android.yml' | |
| - 'CMakeLists.txt' | |
| - 'cmake/**' | |
| - 'src/*' | |
| - 'src/layer/*' | |
| - 'src/layer/arm/**' | |
| - 'src/layer/riscv/**' | |
| - 'src/layer/x86/**' | |
| - 'src/layer/vulkan/**' | |
| concurrency: | |
| group: android-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| env: | |
| NCNN_CMAKE_OPTIONS: | | |
| -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake \ | |
| -DANDROID_PLATFORM=android-21 \ | |
| -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON \ | |
| -DCMAKE_INSTALL_PREFIX=install \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DNCNN_VULKAN=ON \ | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: armeabi-v7a | |
| run: | | |
| mkdir build-armeabi-v7a && cd build-armeabi-v7a | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: arm64-v8a | |
| run: | | |
| mkdir build-arm64-v8a && cd build-arm64-v8a | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="arm64-v8a" .. | |
| cmake --build . -j $(nproc) | |
| - name: x86 | |
| run: | | |
| mkdir build-x86 && cd build-x86 | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="x86" .. | |
| cmake --build . -j $(nproc) | |
| - name: x86_64 | |
| run: | | |
| mkdir build-x86_64 && cd build-x86_64 | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="x86_64" .. | |
| cmake --build . -j $(nproc) | |
| - name: riscv64 | |
| run: | | |
| mkdir build-riscv64 && cd build-riscv64 | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="riscv64" .. | |
| cmake --build . -j $(nproc) | |
| - name: armeabi-v7a-shared | |
| run: | | |
| mkdir build-armeabi-v7a-shared && cd build-armeabi-v7a-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: arm64-v8a-shared | |
| run: | | |
| mkdir build-arm64-v8a-shared && cd build-arm64-v8a-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="arm64-v8a" -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: x86-shared | |
| run: | | |
| mkdir build-x86-shared && cd build-x86-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="x86" -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: x86_64-shared | |
| run: | | |
| mkdir build-x86_64-shared && cd build-x86_64-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="x86_64" -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: riscv64-shared | |
| run: | | |
| mkdir build-riscv64-shared && cd build-riscv64-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="riscv64" -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) | |
| ndk-r16b: | |
| runs-on: ubuntu-latest | |
| env: | |
| NCNN_CMAKE_OPTIONS: | | |
| -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/android-ndk-r16b/build/cmake/android.toolchain.cmake \ | |
| -DANDROID_PLATFORM=android-21 \ | |
| -DCMAKE_INSTALL_PREFIX=install \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DNCNN_VULKAN=ON \ | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: ndk-r16b | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: | | |
| pushd /usr/lib/x86_64-linux-gnu/ | |
| sudo ln -s libncurses.so.6 libncurses.so.5 | |
| sudo ln -s libtinfo.so.6 libtinfo.so.5 | |
| popd | |
| wget -q https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip -O $GITHUB_WORKSPACE/android-ndk-r16b-linux-x86_64.zip | |
| cd $GITHUB_WORKSPACE && unzip -q android-ndk-r16b-linux-x86_64.zip | |
| - name: armeabi-v7a | |
| run: | | |
| mkdir build-armeabi-v7a && cd build-armeabi-v7a | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: armeabi-v7a-no-neon | |
| run: | | |
| mkdir build-armeabi-v7a-no-neon && cd build-armeabi-v7a-no-neon | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=OFF .. | |
| cmake --build . -j $(nproc) | |
| - name: arm64-v8a | |
| run: | | |
| mkdir build-arm64-v8a && cd build-arm64-v8a | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="arm64-v8a" .. | |
| cmake --build . -j $(nproc) | |
| - name: armeabi-v7a-shared | |
| run: | | |
| mkdir build-armeabi-v7a-shared && cd build-armeabi-v7a-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: armeabi-v7a-no-neon-shared | |
| run: | | |
| mkdir build-armeabi-v7a-no-neon-shared && cd build-armeabi-v7a-no-neon-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=OFF -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) | |
| - name: arm64-v8a-shared | |
| run: | | |
| mkdir build-arm64-v8a-shared && cd build-arm64-v8a-shared | |
| cmake ${{ env.NCNN_CMAKE_OPTIONS }} -DANDROID_ABI="arm64-v8a" -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j $(nproc) |