1414 - build.cmd
1515 - vcpkg.json
1616 - CMakePresets.json
17- - docker/Dockerfile
17+ - docker/Dockerfile.base
18+ - docker/Dockerfile.sdk
1819 - .github/workflows/**
1920 pull_request :
2021 branches : ["main"]
2930 - build.cmd
3031 - vcpkg.json
3132 - CMakePresets.json
32- - docker/Dockerfile
33+ - docker/Dockerfile.base
34+ - docker/Dockerfile.sdk
3335 - .github/workflows/**
3436 workflow_dispatch :
3537
@@ -306,6 +308,7 @@ jobs:
306308 docker-build-x64 :
307309 name : Build (docker-linux-x64)
308310 runs-on : ubuntu-latest
311+ if : github.event_name == 'pull_request'
309312
310313 steps :
311314 - name : Checkout (with submodules)
@@ -325,17 +328,20 @@ jobs:
325328 docker-images : true
326329 swap-storage : true
327330
328- - name : Set up Docker Buildx
329- uses : docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
331+ - name : Build base Docker image
332+ run : |
333+ docker build \
334+ -t livekit-cpp-sdk-base-x64:${{ github.sha }} \
335+ -f docker/Dockerfile.base \
336+ docker
330337
331- - name : Build Docker image
338+ - name : Build SDK Docker image
332339 run : |
333- docker buildx build \
334- --platform linux/amd64 \
335- --load \
340+ docker build \
341+ --build-arg BASE_IMAGE=livekit-cpp-sdk-base-x64:${{ github.sha }} \
336342 -t livekit-cpp-sdk-x64:${{ github.sha }} \
337343 . \
338- -f docker/Dockerfile
344+ -f docker/Dockerfile.sdk
339345
340346 - name : Verify installed SDK inside image
341347 run : |
@@ -356,6 +362,7 @@ jobs:
356362 docker-build-linux-arm64 :
357363 name : Build (docker-linux-arm64)
358364 runs-on : ubuntu-24.04-arm
365+ if : github.event_name == 'pull_request'
359366
360367 steps :
361368 - name : Checkout (with submodules)
@@ -375,17 +382,20 @@ jobs:
375382 docker-images : true
376383 swap-storage : true
377384
378- - name : Set up Docker Buildx
379- uses : docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
385+ - name : Build base Docker image
386+ run : |
387+ docker build \
388+ -t livekit-cpp-sdk-base-arm64:${{ github.sha }} \
389+ -f docker/Dockerfile.base \
390+ docker
380391
381- - name : Build Docker image
392+ - name : Build SDK Docker image
382393 run : |
383- docker buildx build \
384- --platform linux/arm64 \
385- --load \
394+ docker build \
395+ --build-arg BASE_IMAGE=livekit-cpp-sdk-base-arm64:${{ github.sha }} \
386396 -t livekit-cpp-sdk:${{ github.sha }} \
387397 . \
388- -f docker/Dockerfile
398+ -f docker/Dockerfile.sdk
389399
390400 - name : Verify installed SDK inside image
391401 run : |
@@ -407,6 +417,7 @@ jobs:
407417 name : Build (cpp-example-collection-linux-arm64)
408418 runs-on : ubuntu-24.04-arm
409419 needs : docker-build-linux-arm64
420+ if : github.event_name == 'pull_request'
410421
411422 steps :
412423 - name : Download Docker image artifact
@@ -433,6 +444,7 @@ jobs:
433444 name : Build (cpp-example-collection-x64)
434445 runs-on : ubuntu-latest
435446 needs : docker-build-x64
447+ if : github.event_name == 'pull_request'
436448
437449 steps :
438450 - name : Download Docker image artifact
0 commit comments