diff --git a/.github/workflows/mesa.yml b/.github/workflows/mesa.yml index 84344cf..ccd6006 100644 --- a/.github/workflows/mesa.yml +++ b/.github/workflows/mesa.yml @@ -17,71 +17,77 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Install Dependencies + - name: Set up Docker run: | - sudo apt update - sudo apt install -y \ - glslang-tools \ - libxrandr-dev \ - libxxf86vm-dev \ - libxcb-*-dev \ - libx11-xcb-dev \ - libxfixes-dev \ - libdrm-dev \ - libx11-dev \ - python3-pip \ - meson \ - ninja-build \ - git + echo "Building Docker image..." + echo 'FROM ubuntu:18.04' > Dockerfile + echo 'RUN apt update && apt install -y \\' >> Dockerfile + echo ' glslang-tools \\' >> Dockerfile + echo ' libxrandr-dev \\' >> Dockerfile + echo ' libxxf86vm-dev \\' >> Dockerfile + echo ' libxcb-*-dev \\' >> Dockerfile + echo ' libx11-xcb-dev \\' >> Dockerfile + echo ' libxfixes-dev \\' >> Dockerfile + echo ' libdrm-dev \\' >> Dockerfile + echo ' libx11-dev \\' >> Dockerfile + echo ' python3-pip \\' >> Dockerfile + echo ' meson=0.46.0 \\' >> Dockerfile # Adicionando versão antiga do Meson + echo ' ninja-build \\' >> Dockerfile + echo ' git' >> Dockerfile + echo 'WORKDIR /workspace' >> Dockerfile - - name: Set up Android NDK - run: | - # Download NDK 2019 version r20 - wget https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip - unzip android-ndk-r20-linux-x86_64.zip - export ANDROID_NDK_HOME=$PWD/android-ndk-r20 - export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH + docker build -t mesa-build-image . - - name: Build DRM + - name: Run Build in Docker run: | - 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=disabled \ - -Dvc4=disabled \ - -Detnaviv=disabled - ninja -C "build-android" install - cd .. + echo "Running build inside Docker..." + docker run --rm -v ${{ github.workspace }}:/workspace mesa-build-image /bin/bash -c " + cd /workspace && + # Set up Android NDK + wget https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip && + unzip android-ndk-r20-linux-x86_64.zip && + export ANDROID_NDK_HOME=\$PWD/android-ndk-r20 && + export PATH=\$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:\$PATH && - - name: Build Unified Mesa Project - run: | - git clone --depth 1 https://github.com/Mateus2022/unified-mesa-project.git - cd unified-mesa-project - cp ../android-* . - envsubst build-crossfile - meson setup "build-android" \ - --prefix=/tmp/pan \ - --cross-file "build-crossfile" \ - -Dplatforms=android \ - -Dplatform-sdk-version=26 \ - -Dllvm=disabled \ - -Dosmesa=true \ - -Degl=disabled \ - -Dopengl=true \ - -Dglx=disabled \ - -Dvulkan-drivers= \ - -Dgallium-drivers=panfrost \ - -Dbuildtype=release - ninja -C "build-android" install + # Build DRM + 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=disabled \ + -Dvc4=disabled \ + -Detnaviv=disabled && + ninja -C "build-android" install && + cd .. && + + # Build Unified Mesa Project + git clone --depth 1 https://github.com/Mateus2022/unified-mesa-project.git && + cd unified-mesa-project && + cp ../android-* . && + envsubst build-crossfile && + meson setup "build-android" \ + --prefix=/tmp/pan \ + --cross-file "build-crossfile" \ + -Dplatforms=android \ + -Dplatform-sdk-version=26 \ + -Dllvm=disabled \ + -Dosmesa=true \ + -Degl=disabled \ + -Dopengl=true \ + -Dglx=disabled \ + -Dvulkan-drivers= \ + -Dgallium-drivers=panfrost \ + -Dbuildtype=release && + ninja -C "build-android" install + " - name: Upload Libraries uses: actions/upload-artifact@v4