Files
IfcOpenShell/docker/compose.yaml
T
Stephen Boddy eadd12cad4 Share ccache volume across checkouts, cap at 2G
The ccache named volume had no explicit name, so Docker Compose
namespaced it under the per-checkout project name (derived from
UNIQUE_ID), giving each checkout its own cache even though
docker/README.md already documented them as shared. Give the volume
a fixed name so all checkouts attach the same one.

Measured cache size after a full build (IfcParse+IfcGeom+IfcConvert+
wrapper, one Python version) is ~300MB, only ~5% of the previous 5G
cap. Shrink CCACHE_MAXSIZE to 2G, which comfortably covers the shared
baseline plus per-branch deltas from several diverging checkouts.

Generated with the assistance of an AI coding tool.

(cherry picked from commit b1470223d3)
2026-07-25 23:15:23 +10:00

24 lines
879 B
YAML

name: ifcopenshell-${UNIQUE_ID}
services:
ifcopenshell:
container_name: ifcopenshell-${UNIQUE_ID}
image: ifcopenshell-build-env:updated
platform: linux/amd64
# There's no `build:` section - the image is always produced ahead of
# time by `./ifcos_env create` (`docker build`, not `docker compose
# build`). Without this, a platform mismatch between the pin above and
# whatever's in the local image store makes compose treat the image as
# absent and fall back to pulling ifcopenshell-build-env:updated from
# Docker Hub, where it doesn't exist. Fail fast with a clear "not
# found" instead of an obscure registry access-denied error.
pull_policy: never
volumes:
- type: bind
source: ../
target: /__w/IfcOpenShell/IfcOpenShell
- ccache:/ccache
volumes:
ccache:
name: ifcopenshell-ccache-shared