| name: android-armv8-gpu | |
| on: | |
| push: | |
| branches: [master] | |
| paths: | |
| - '.github/workflows/android-armv8-gpu.yml' | |
| - 'CMakeLists.txt' | |
| - 'cmake/**' | |
| - 'src/*' | |
| - 'src/layer/*' | |
| - 'src/layer/arm/**' | |
| - 'src/layer/vulkan/**' | |
| pull_request: | |
| branches: [master] | |
| paths: | |
| - '.github/workflows/android-armv8-gpu.yml' | |
| - 'CMakeLists.txt' | |
| - 'cmake/**' | |
| - 'src/*' | |
| - 'src/layer/*' | |
| - 'src/layer/arm/**' | |
| - 'src/layer/vulkan/**' | |
| concurrency: | |
| group: android-armv8-gpu-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| android-aarch64-gpu: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: build | |
| run: | | |
| mkdir build && cd build | |
| cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON .. | |
| cmake --build . -j 2 | |
| - name: build-shared | |
| run: | | |
| mkdir build-shared && cd build-shared | |
| cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j 2 | |
| - name: build-termux | |
| run: | | |
| mkdir build-termux && cd build-termux | |
| cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON -DNCNN_PLATFORM_API=OFF .. | |
| cmake --build . -j 2 | |
| - name: build-android-29 | |
| run: | | |
| mkdir build-android-29 && cd build-android-29 | |
| cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-29 -DNCNN_VULKAN=ON .. | |
| cmake --build . -j 2 | |
| - name: build-android-29-shared | |
| run: | | |
| mkdir build-android-29-shared && cd build-android-29-shared | |
| cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-29 -DNCNN_VULKAN=ON -DNCNN_SHARED_LIB=ON .. | |
| cmake --build . -j 2 | |
| android-aarch64-gpu-ndk-r16b: | |
| runs-on: ubuntu-20.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: ndk-r16b | |
| run: | | |
| wget 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: configure | |
| run: mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/android-ndk-r16b/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON .. | |
| - name: build | |
| run: cmake --build build -j 2 | |