From 9803fb8ac156e1e5834ba57f8423471895214d7e Mon Sep 17 00:00:00 2001 From: Michael Migliore Date: Thu, 30 Jan 2025 10:29:41 +0100 Subject: [PATCH] remove caches --- .github/workflows/build_docker_image.yml | 4 - android/Dockerfile | 172 +++++++++++++++++++++++ 2 files changed, 172 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_docker_image.yml b/.github/workflows/build_docker_image.yml index ad293f8..2d41a49 100644 --- a/.github/workflows/build_docker_image.yml +++ b/.github/workflows/build_docker_image.yml @@ -57,8 +57,6 @@ jobs: DRACO_VERSION=1.5.7 OCCT_VERSION=V7_8_1 VTK_VERSION=${{ env.VTK_SHA }} - cache-from: type=registry,ref=ghcr.io/f3d-app/f3d-wasm:buildcache - cache-to: type=registry,ref=ghcr.io/f3d-app/f3d-wasm:buildcache,mode=max,compression=zstd build_f3d-android: strategy: @@ -97,8 +95,6 @@ jobs: OCCT_VERSION=V7_8_1 OPENEXR_VERSION=v3.3.2 VTK_VERSION=${{ env.VTK_SHA }} - cache-from: type=registry,ref=ghcr.io/f3d-app/f3d-android-${{ matrix.arch }}:buildcache - cache-to: type=registry,ref=ghcr.io/f3d-app/f3d-android-${{ matrix.arch }}:buildcache,mode=max,compression=zstd build_f3d-superbuild-ci: runs-on: ubuntu-latest diff --git a/android/Dockerfile b/android/Dockerfile index adcde03..c4818b8 100644 --- a/android/Dockerfile +++ b/android/Dockerfile @@ -51,3 +51,175 @@ RUN cmake -S /imath-src -B /imath-build \ -DCMAKE_INSTALL_PREFIX:PATH=/depends RUN cmake --build /imath-build --target install && rm -rf /imath-src /imath-build + +###################################### +# Alembic +###################################### +FROM imath AS alembic + +ARG ALEMBIC_VERSION +RUN [ -n "$ALEMBIC_VERSION" ] + +ADD https://github.com/alembic/alembic/archive/refs/tags/$ALEMBIC_VERSION.tar.gz /alembic-src.tar.gz + +RUN mkdir -p /alembic-src && tar -xzf /alembic-src.tar.gz -C /alembic-src --strip-components 1 && rm -rf /alembic-src.tar.gz + +RUN cmake -S /alembic-src -B /alembic-build \ + -DALEMBIC_LIB_INSTALL_DIR=lib \ + -DALEMBIC_SHARED_LIBS=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_TOOLCHAIN_FILE=/android-toolchain.cmake \ + -DCMAKE_INSTALL_PREFIX:PATH=/depends \ + -DCMAKE_PREFIX_PATH:PATH=/depends \ + -DUSE_BINARIES=OFF \ + -DUSE_TESTS=OFF + +RUN cmake --build /alembic-build --target install && rm -rf /alembic-src /alembic-build + +###################################### +# Assimp +###################################### +FROM base AS assimp + +ARG ASSIMP_VERSION +RUN [ -n "$ASSIMP_VERSION" ] + +ADD https://github.com/assimp/assimp/archive/refs/tags/$ASSIMP_VERSION.tar.gz /assimp-src.tar.gz + +RUN mkdir -p /assimp-src && tar -xzf /assimp-src.tar.gz -C /assimp-src --strip-components 1 && rm -rf /assimp-src.tar.gz + +RUN cmake -S /assimp-src -B /assimp-build \ + -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_TOOLCHAIN_FILE=/android-toolchain.cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX:PATH=/depends \ + -DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=OFF \ + -DASSIMP_BUILD_ASSIMP_TOOLS=OFF \ + -DASSIMP_BUILD_3MF_IMPORTER=ON \ + -DASSIMP_BUILD_COLLADA_IMPORTER=ON \ + -DASSIMP_BUILD_DXF_IMPORTER=ON \ + -DASSIMP_BUILD_FBX_IMPORTER=ON \ + -DASSIMP_BUILD_OFF_IMPORTER=ON \ + -DASSIMP_BUILD_X_IMPORTER=ON \ + -DASSIMP_BUILD_SAMPLES=OFF \ + -DASSIMP_BUILD_TESTS=OFF \ + -DASSIMP_BUILD_ZLIB=OFF \ + -DASSIMP_NO_EXPORT=ON \ + -DASSIMP_WARNINGS_AS_ERRORS=OFF + +RUN cmake --build /assimp-build --target install && rm -rf /assimp-src /assimp-build + +###################################### +# OCCT +###################################### +FROM base AS occt + +ARG OCCT_VERSION +RUN [ -n "$OCCT_VERSION" ] + +ADD https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/$OCCT_VERSION.tar.gz /occt-src.tar.gz + +RUN mkdir -p /occt-src && tar -xzf /occt-src.tar.gz -C /occt-src --strip-components 1 && rm -rf /occt-src.tar.gz + +RUN cmake -S /occt-src -B /occt-build \ + -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_TOOLCHAIN_FILE=/android-toolchain.cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX:PATH=/depends \ + -DBUILD_ADDITIONAL_TOOLKITS="TKDESTEP;TKDEIGES;TKMesh;TKBinXCAF" \ + -DBUILD_DOC_Overview=OFF \ + -DBUILD_LIBRARY_TYPE=Static \ + -DBUILD_MODULE_ApplicationFramework=OFF \ + -DBUILD_MODULE_DETools=OFF \ + -DBUILD_MODULE_DataExchange=OFF \ + -DBUILD_MODULE_Draw=OFF \ + -DBUILD_MODULE_FoundationClasses=OFF \ + -DBUILD_MODULE_ModelingAlgorithms=OFF \ + -DBUILD_MODULE_ModelingData=OFF \ + -DBUILD_MODULE_Visualization=OFF \ + -DUSE_FREETYPE=OFF + +RUN cmake --build /occt-build --target install && rm -rf /occt-src /occt-build + +###################################### +# Draco +###################################### +FROM base AS draco + +ARG CMAKE_BUILD_PARALLEL_LEVEL=8 +ARG DRACO_VERSION +RUN [ -n "$DRACO_VERSION" ] + +ADD https://github.com/google/draco/archive/refs/tags/$DRACO_VERSION.tar.gz /draco-src.tar.gz + +RUN mkdir -p /draco-src && tar -xzf /draco-src.tar.gz -C /draco-src --strip-components 1 && rm -rf /draco-src.tar.gz + +RUN cmake -S /draco-src -B /draco-build \ + -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_TOOLCHAIN_FILE=/android-toolchain.cmake \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX:PATH=/depends \ + -DDRACO_BACKWARDS_COMPATIBILITY=OFF \ + -DDRACO_JS_GLUE=OFF + +RUN cmake --build /draco-build --target install && rm -rf /draco-src /draco-build + +###################################### +# OpenEXR +###################################### +FROM imath AS openexr + +ARG CMAKE_BUILD_PARALLEL_LEVEL=8 +ARG OPENEXR_VERSION +RUN [ -n "$OPENEXR_VERSION" ] + +ADD https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/$OPENEXR_VERSION.tar.gz /openexr-src.tar.gz + +RUN mkdir -p /openexr-src && tar -xzf /openexr-src.tar.gz -C /openexr-src --strip-components 1 && rm -rf /openexr-src.tar.gz + +RUN cmake -S /openexr-src -B /openexr-build \ + -DBUILD_TESTING=OFF \ + -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_TOOLCHAIN_FILE=/android-toolchain.cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX:PATH=/depends \ + -DOPENEXR_BUILD_TOOLS=OFF \ + -DOPENEXR_BUILD_EXAMPLES=OFF + +RUN cmake --build /openexr-build --target install && rm -rf /openexr-src /openexr-build + +###################################### +# VTK +###################################### +FROM base AS vtk + +ARG VTK_VERSION +RUN [ -n "$VTK_VERSION" ] + +ADD https://gitlab.kitware.com/vtk/vtk/-/archive/$VTK_VERSION/vtk-$VTK_VERSION.tar.gz /vtk-src.tar.gz + +RUN mkdir -p /vtk-src && tar -xzf /vtk-src.tar.gz -C /vtk-src --strip-components 1 && rm -rf /vtk-src.tar.gz + +RUN cmake -S /vtk-src -B /vtk-build \ + -DANDROID_ARCH_ABI=$ANDROID_ARCH \ + -DANDROID_NATIVE_API_LEVEL=$ANDROID_API \ + -DANDROID_NDK=/ndk \ + -DCMAKE_BUILD_TYPE=Release \ + -DVTK_ANDROID_BUILD=ON + +RUN cmake --build /vtk-build && rm -rf /vtk-src + +###################################### +# Copy artifacts from previous builds +###################################### +FROM base + +ENV CMAKE_TOOLCHAIN_FILE=/android-toolchain.cmake + +COPY --from=alembic /depends /depends +COPY --from=assimp /depends /depends +COPY --from=draco /depends /depends +COPY --from=occt /depends /depends +COPY --from=openexr /depends /depends +COPY --from=vtk /vtk-build/CMakeExternals/Install/vtk-android /depends