@@ -150,6 +150,37 @@ jobs:
150150 curl -fsSL "https://raw.githubusercontent.com/langfuse/langfuse/${LANGFUSE_SERVER_SHA}/docker-compose.yml" \
151151 -o ./langfuse-server/docker-compose.yml
152152 echo "${LANGFUSE_SERVER_SHA}"
153+ - name : Resolve langfuse server image digests
154+ run : |
155+ docker compose -f ./langfuse-server/docker-compose.yml config --images \
156+ | tee ./langfuse-server/docker-images.txt
157+
158+ while read -r image; do
159+ docker manifest inspect "$image" \
160+ | jq -r --arg image "$image" '
161+ if .manifests then
162+ .manifests[]
163+ | select(.platform.os == "linux" and .platform.architecture == "amd64")
164+ | "\($image)@\(.digest)"
165+ else
166+ "\($image)@\(.config.digest // .Descriptor.digest // .digest)"
167+ end
168+ '
169+ done < ./langfuse-server/docker-images.txt \
170+ | tee ./langfuse-server/docker-image-digests.txt
171+ - name : Restore langfuse server image cache
172+ id : docker-image-cache
173+ uses : actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5
174+ with :
175+ path : ./langfuse-server/docker-image-cache
176+ key : langfuse-docker-${{ runner.os }}-${{ hashFiles('langfuse-server/docker-compose.yml', 'langfuse-server/docker-image-digests.txt') }}
177+ - name : Load cached langfuse server images
178+ if : ${{ steps.docker-image-cache.outputs.cache-hit == 'true' }}
179+ run : |
180+ shopt -s nullglob
181+ for image_tar in ./langfuse-server/docker-image-cache/*.tar; do
182+ docker load -i "$image_tar"
183+ done
153184
154185 - name : Run langfuse server
155186 run : |
@@ -167,6 +198,14 @@ jobs:
167198 LANGFUSE_ENABLE_EVENTS_TABLE_OBSERVATIONS=true \
168199 docker compose up -d
169200 echo "::endgroup::"
201+ - name : Save langfuse server images to cache
202+ if : ${{ steps.docker-image-cache.outputs.cache-hit != 'true' && matrix.shard-name == 'core' }}
203+ run : |
204+ mkdir -p ./langfuse-server/docker-image-cache
205+ while read -r image; do
206+ safe_name=$(echo "$image" | tr '/:.' '_')
207+ docker save -o "./langfuse-server/docker-image-cache/${safe_name}.tar" "$image"
208+ done < ./langfuse-server/docker-images.txt
170209
171210 - name : Health check for langfuse server
172211 run : |
0 commit comments