diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 00000000000..7331c4d26da --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,69 @@ +name: Build Android + +on: + [push, pull_request, workflow_dispatch] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + build: + strategy: + matrix: + arch: [ "arm32", "aarch64" ] + fail-fast: false + + name: "Build for ${{matrix.arch}}" + + runs-on: ubuntu-latest + + steps: + + - uses: actions/checkout@v2 + + - name: Build + run: | + sudo apt update + sudo apt install -y meson libxrandr-dev libxxf86vm-dev libxcb-*-dev libx11-xcb-dev libxfixes-dev libdrm-dev libx11-dev + pip3 install mako + export ANDROID_NDK_HOME="$ANDROID_SDK_ROOT/ndk-bundle" + envsubst build-crossfile-drm + git clone --depth 1 https://gitlab.freedesktop.org/mesa/drm.git + cd drm + meson setup "build-android" \ + --prefix=/tmp/drm-static \ + --cross-file "../build-crossfile-drm" \ + -Ddefault_library=static \ + -Dintel=disabled \ + -Dradeon=disabled \ + -Damdgpu=disabled \ + -Dnouveau=disabled \ + -Dvmwgfx=disabled \ + -Dfreedreno=enabled \ + -Dvc4=disabled \ + -Detnaviv=disabled \ + -Dfreedreno-kgsl=true + ninja -C "build-android" install + cd .. + envsubst build-crossfile + meson setup "build-android" \ + --prefix=/tmp/fd \ + --cross-file "build-crossfile" \ + -Dplatforms=android \ + -Dplatform-sdk-version=26 \ + -Dandroid-stub=true \ + -Dllvm=disabled \ + -Dxlib-lease=disabled \ + -Degl=disabled \ + -Dgbm=disabled \ + -Dglx=disabled \ + -Dopengl=true \ + -Dosmesa=true \ + -Dvulkan-drivers= \ + -Dgallium-drivers=swrast,freedreno \ + -Dfreedreno-kmds=kgsl \ + -Dshared-glapi=false + ninja -C "build-android" install + - name: Upload libraries + uses: actions/upload-artifact@v2 + with: + name: freedreno_${{matrix.arch}} + path: /tmp/fd