I'm using dagger to automate my build system, which runs in a docker container.
So I'm using the docker_build of my dockerfile, and executing the needed "Cmake" commands in there.
At the end I export the needed zip file to the host directory using the "ctr.file("zipfile.zip").export("output/zipfile.zip")"
Running this locally is fine, but in my gitlab-ci environment, my 20GB of runner disk-space is completely filled up before the end of the pipeline.. I'm trying to run a for loop with 20 executions in it, but by the 8-th time the gitlab-runner is full..
Some code:
async with (dagger.Connection(config) as client):
context_dir = client.host().directory(".", exclude=["docs/", ".git*", ".cache"])
build_ctr = await context_dir.docker_build(dockerfile="soft/Dockerfile")
async def build_configs(cfg: Path, build_type: str, semaphore: anyio.Semaphore):
async with semaphore:
rel_bld = await common_release_build_step(
cfg, build_type, build_ctr, context_dir
)
unpacked_ctr = await unpack_and_encode(rel_bld, f"{build_type}_Output")
await unpacked_ctr.file(f"SW.zip").export(f"{outdir}/SW.zip")
async with anyio.create_task_group() as tg:
semaphore = anyio.Semaphore(1)
for cfg in cfg_files:
tg.start_soon(build_configs, cfg, build_type, semaphore)
Any clues? I see that the "snapshots" in the docker volumes are being created for every run it seems, can anyone give me some tips? Thx!