| 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 |
|
|