diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2d55a1..6bf7a1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -300,6 +300,33 @@ jobs: build/tests_macos_arm64 build/tests_header_only_macos_arm64 + android-x86_64-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: nttld/setup-ndk@v1 + with: + ndk-version: r27 + id: ndk + - name: Build + run: | + mkdir build && cd build + cmake -G "Ninja" ../ \ + -DCMAKE_TOOLCHAIN_FILE=${{ steps.ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake \ + -DANDROID_ABI=x86_64 \ + -DANDROID_PLATFORM=android-24 \ + -DTCS_ENABLE_TESTS=ON \ + -DTCS_WARNINGS_AS_ERRORS=ON + cmake --build . + mv ./tests/tests ./tests_android_x86_64 + mv ./tests/tests_header_only ./tests_header_only_android_x86_64 + - uses: actions/upload-artifact@v4 + with: + name: android-x86_64 + path: | + build/tests_android_x86_64 + build/tests_header_only_android_x86_64 + # ---- TESTS ---- windows-tests: @@ -538,6 +565,31 @@ jobs: ./build/tests_header_only_macos_arm64 2>&1 | tee -a $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY + android-x86_64-test: + runs-on: ubuntu-latest + timeout-minutes: 30 + needs: [android-x86_64-build] + steps: + - uses: actions/download-artifact@v4 + with: + name: android-x86_64 + path: build/ + - name: Enable KVM + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + - uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: 30 + arch: x86_64 + script: | + adb push build/tests_android_x86_64 /data/local/tmp/tests + adb push build/tests_header_only_android_x86_64 /data/local/tmp/tests_header_only + adb shell chmod +x /data/local/tmp/tests /data/local/tmp/tests_header_only + adb shell /data/local/tmp/tests + adb shell /data/local/tmp/tests_header_only + # ---- DEPLOY ---- sphinx-docs: