From 11404dc2bbfb9033344ff360e72b66372edd0d9b Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Wed, 25 Feb 2026 15:50:45 -0600 Subject: Fix log copy truncation, enable ccache for build cache Fix "Copy all" log truncation: the code unconditionally stripped 2 chars (\r\n) from formatted log messages, but on Linux spdlog only appends \n. Every log message lost its last real character. Now strips trailing \r and \n dynamically. Enable ccache: it was installed in the Docker image but never activated. build-inner.sh now auto-detects ccache and sets CMAKE_*_COMPILER_LAUNCHER. build.sh mounts a persistent ccache volume (~/.cache/fluorine-ccache) into the container. CI workflow uses actions/cache to persist ccache across runs. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d889a05..29b9162 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,10 +42,21 @@ jobs: cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max + - name: Restore ccache + uses: actions/cache@v4 + with: + path: ~/.cache/fluorine-ccache + key: ccache-${{ runner.os }}-${{ github.sha }} + restore-keys: | + ccache-${{ runner.os }}- + - name: Build inside container run: | + mkdir -p ~/.cache/fluorine-ccache docker run --rm \ -v "${{ github.workspace }}:/src:rw" \ + -v "$HOME/.cache/fluorine-ccache:/ccache:rw" \ + -e CCACHE_DIR=/ccache \ -w /src \ fluorine-builder:latest \ bash /src/docker/build-inner.sh -- cgit v1.3.1