From 52819975492bd2f9add7059fe4463a2b2c6339fc Mon Sep 17 00:00:00 2001 From: 0FL01 Date: Tue, 22 Jul 2025 20:00:58 +0300 Subject: [PATCH] add build ccache --- .github/workflows/flatpak-build.yml | 52 ++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/.github/workflows/flatpak-build.yml b/.github/workflows/flatpak-build.yml index 1fc3453836..36c20c46f4 100644 --- a/.github/workflows/flatpak-build.yml +++ b/.github/workflows/flatpak-build.yml @@ -96,25 +96,59 @@ jobs: if: steps.static-ccache.outputs.cache-hit != 'true' run: | echo "Статический ccache не найден в кэше, собираем его..." - sudo dnf install -y gcc-c++ cmake git zlib-devel libzstd-devel fmt-devel glibc-static libstdc++-static - + sudo dnf install -y gcc-c++ cmake git zlib-devel zlib-static \ + libzstd-devel libzstd-static fmt-devel fmt-static \ + glibc-static libstdc++-static make pkgconfig \ + openssl-devel openssl-static libarchive-devel \ + libarchive-static + rm -rf ccache-source ccache-build git clone --depth=1 --branch v4.10 https://github.com/ccache/ccache.git ccache-source + if [ $? -ne 0 ]; then + echo "::error::Ошибка клонирования репозитория ccache" + exit 1 + fi cd ccache-source - mkdir build && cd build - + echo "Запуск конфигурации CMake..." cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ -DBUILD_SHARED_LIBS=OFF \ -DSTATIC_LINKING=ON \ -DENABLE_ZSTD=BUNDLED \ - -DENABLE_TESTING=OFF - - cmake --build . -j$(nproc) - + -DENABLE_TESTING=OFF \ + -DCMAKE_C_FLAGS="-static" \ + -DCMAKE_CXX_FLAGS="-static" \ + -DCMAKE_EXE_LINKER_FLAGS="-static -static-libgcc -static-libstdc++" \ + -DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \ + -DCMAKE_LINK_SEARCH_START_STATIC=ON \ + -DCMAKE_LINK_SEARCH_END_STATIC=ON + if [ $? -ne 0 ]; then + echo "::error::Ошибка конфигурации CMake. Детали:" + cat CMakeFiles/CMakeError.log || echo "CMakeError.log не найден" + cat CMakeFiles/CMakeOutput.log || echo "CMakeOutput.log не найден" + exit 1 + fi + echo "Начинаем компиляцию ccache..." + cmake --build . -j$(nproc) --verbose + if [ $? -ne 0 ]; then + echo "::error::Ошибка компиляции ccache" + exit 1 + fi + echo "Проверка зависимостей собранного ccache:" + ldd ./ccache || echo "ccache собран статически (отлично!)" + echo "Тестирование ccache..." + ./ccache --version + if [ $? -ne 0 ]; then + echo "::error::Собранный ccache не работает" + exit 1 + fi mkdir -p ${{ github.workspace }}/ccache-static cp ./ccache ${{ github.workspace }}/ccache-static/ccache - echo "Полностью статический ccache успешно собран." + chmod +x ${{ github.workspace }}/ccache-static/ccache + echo "Полностью статический ccache успешно собран и протестирован." + cd ${{ github.workspace }} + rm -rf ccache-source - name: Cache TDesktop Dependencies id: cache-tdesktop-deps