4242 builds : ${{ steps.filter.outputs.builds }}
4343 tests : ${{ steps.filter.outputs.tests }}
4444 docs : ${{ steps.filter.outputs.docs }}
45+ docker_images : ${{ steps.filter.outputs.docker_images }}
4546 steps :
4647 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4748 - uses : dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
@@ -51,44 +52,64 @@ jobs:
5152 builds:
5253 - src/**
5354 - include/**
55+ - benchmarks/**
5456 - cpp-example-collection/**
5557 - client-sdk-rust/**
5658 - cmake/**
57- - scripts/**
59+ - docker/**
60+ - scripts/clang-format.sh
61+ - scripts/clang-tidy.sh
5862 - CMakeLists.txt
63+ - CMakePresets.json
5964 - build.sh
6065 - build.cmd
66+ - build.h.in
6167 - .build-info.json.in
6268 - vcpkg.json
63- - CMakePresets.json
64- - docker/Dockerfile.base
65- - docker/Dockerfile.sdk
6669 - .clang-format
70+ - .clang-tidy
6771 - .github/workflows/ci.yml
6872 - .github/workflows/builds.yml
6973 tests:
7074 - src/**
7175 - include/**
7276 - client-sdk-rust/**
77+ - cmake/**
78+ - .token_helpers/**
7379 - CMakeLists.txt
7480 - CMakePresets.json
7581 - build.sh
7682 - build.cmd
83+ - build.h.in
84+ - .build-info.json.in
7785 - vcpkg.json
78- - .token_helpers/**
7986 - .github/workflows/ci.yml
8087 - .github/workflows/tests.yml
8188 docs:
82- # Quoted because YAML treats a leading `*` as an alias
83- # reference and would otherwise reject this scalar.
84- - "**/*.md"
89+ - README.md
8590 - include/**
86- - src/**
8791 - docs/**
8892 - scripts/generate-docs.sh
8993 - .github/workflows/ci.yml
9094 - .github/workflows/generate-docs.yml
9195 - .github/workflows/publish-docs.yml
96+ docker_images:
97+ - src/**
98+ - include/**
99+ - client-sdk-rust/**
100+ - cmake/**
101+ - data/**
102+ - docker/Dockerfile.base
103+ - docker/Dockerfile.sdk
104+ - CMakeLists.txt
105+ - CMakePresets.json
106+ - build.sh
107+ - build.cmd
108+ - build.h.in
109+ - .build-info.json.in
110+ - .github/workflows/ci.yml
111+ - .github/workflows/docker-images.yml
112+ - .github/workflows/docker-validate.yml
92113
93114 builds :
94115 name : Builds
@@ -104,9 +125,8 @@ jobs:
104125 uses : ./.github/workflows/tests.yml
105126 secrets : inherit
106127
107- # license-check and pin-check are cheap (seconds) and have no meaningful
108- # path scope (any source change can affect license headers; any action
109- # bump can affect pinning), so they always run.
128+ # license-check and pin-check are cheap (seconds) and broad enough that they
129+ # should run on every PR.
110130 license-check :
111131 name : License Check
112132 uses : ./.github/workflows/license_check.yml
@@ -120,3 +140,23 @@ jobs:
120140 needs : changes
121141 if : ${{ needs.changes.outputs.docs == 'true' || github.event_name != 'pull_request' }}
122142 uses : ./.github/workflows/generate-docs.yml
143+
144+ docker-images :
145+ name : Docker Images
146+ needs : changes
147+ if : ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.changes.outputs.docker_images == 'true' }}
148+ permissions :
149+ contents : read
150+ packages : write
151+ uses : ./.github/workflows/docker-images.yml
152+ secrets : inherit
153+
154+ docker-validate :
155+ name : Docker Validate
156+ needs : docker-images
157+ if : ${{ needs.docker-images.result == 'success' }}
158+ permissions :
159+ contents : read
160+ packages : read
161+ uses : ./.github/workflows/docker-validate.yml
162+ secrets : inherit
0 commit comments