diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 0000000..43ccb43 --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,57 @@ +name: Build Android + +on: + [push, pull_request] + +# 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", "x86_64", "i686" ] + fail-fast: false + + name: "Build for ${{matrix.arch}}" + + runs-on: ubuntu-latest + + steps: + - name: Disable symlinks in git config + run: git config --global core.symlinks false + + - 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 + git clone --depth 1 https://github.com/Mesa3D/mesa + cd mesa + git apply --reject --whitespace=fix ../mesa-zink.diff || echo "git apply failed" + meson setup "build-android" \ + --prefix=/tmp/zink \ + --cross-file "../build-crossfile" \ + -Dplatforms=android \ + -Dplatform-sdk-version=25 \ + -Dandroid-stub=true \ + -Dllvm=disabled \ + -Dxlib-lease=disabled \ + -Degl=disabled \ + -Dgbm=disabled \ + -Dglx=disabled \ + -Dopengl=true \ + -Dosmesa=true \ + -Dvulkan-drivers= \ + -Dgallium-drivers=zink \ + -Dshared-glapi=false \ + -Dandroid-libbacktrace=disabled \ + -Dbuildtype=release + ninja -C "build-android" install + - name: Upload libraries + uses: actions/upload-artifact@v2 + with: + name: libzink_${{matrix.arch}} + path: /tmp/zink