3333 runs-on : windows-2022
3434 permissions :
3535 contents : ' read'
36- id-token : ' write'
3736 strategy :
3837 # Continue other builds even if one fails
3938 fail-fast : false
4241 msvc : [ msvc-2022 ]
4342 build_type : [ Debug, Release ]
4443 arch : [ x64, x86 ]
45- shard : [Core1, Core2, Core3, Compute, AIPlatform, Shard1, Shard2, Shard3, Other]
44+ shard : [Core1, Core2, Core3, Core4, Core5, Compute, AIPlatform, Shard1, Shard2, Shard3, Shard4 , Other]
4645 exclude :
4746 # Also skip shards (Compute and Other) that contain only generated code.
4847 - exclude-from-full-trick : ${{ ! inputs.full-matrix }}
@@ -55,11 +54,16 @@ jobs:
5554 shard : Shard2
5655 - exclude-from-full-trick : ${{ ! inputs.full-matrix }}
5756 shard : Shard3
57+ - exclude-from-full-trick : ${{ ! inputs.full-matrix }}
58+ shard : Shard4
5859 - exclude-from-full-trick : ${{ ! inputs.full-matrix }}
5960 shard : Other
6061 # No need to duplicate testing with x86 mode and Debug mode
6162 - arch : x86
6263 build_type : Debug
64+ # TODO(#15070): Undo exclusion of the shard if we can reduce PDB size.
65+ - shard : Core4
66+ build_type : Debug
6367 steps :
6468 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
6569 with :
8185 shell : bash
8286 run : |
8387 echo "vcpkg-version=$(cat ci/etc/vcpkg-version.txt)" >> "${GITHUB_OUTPUT}"
84- core1_features=(bigtable pubsub pubsublite )
88+ core1_features=(bigtable)
8589 core2_features=(spanner)
86- core3_features=(storage storage_grpc)
90+ core3_features=(storage)
91+ core4_features=(storage_grpc)
92+ core5_features=(pubsub pubsublite)
8793 # These are the libraries with the most "clients". To build the list
8894 # run something like this and create shards:
8995 #
@@ -113,17 +119,6 @@ jobs:
113119 servicecontrol
114120 speech
115121 support
116- video
117- datacatalog
118- iam
119- kms
120- run
121- talent
122- contentwarehouse
123- dataplex
124- bigquery
125- bigquerycontrol
126- resourcemanager
127122 )
128123 shard3_features=(
129124 securesourcemanager
@@ -170,6 +165,58 @@ jobs:
170165 vision
171166 workflows
172167 )
168+ shard4_features=(
169+ accessapproval
170+ accesscontextmanager
171+ advisorynotifications
172+ alloydb
173+ apigateway
174+ apigeeconnect
175+ apikeys
176+ apphub
177+ artifactregistry
178+ assuredworkloads
179+ backupdr
180+ baremetalsolution
181+ batch
182+ certificatemanager
183+ cloudquotas
184+ commerce
185+ confidentialcomputing
186+ config
187+ connectors
188+ contactcenterinsights
189+ container
190+ datafusion
191+ datamigration
192+ datastream
193+ deploy
194+ developerconnect
195+ dlp
196+ documentai
197+ domains
198+ edgecontainer
199+ edgenetwork
200+ essentialcontacts
201+ filestore
202+ financialservices
203+ gkebackup
204+ gkeconnect
205+ gkehub
206+ )
207+ shard5_features=(
208+ video
209+ datacatalog
210+ iam
211+ kms
212+ run
213+ talent
214+ contentwarehouse
215+ dataplex
216+ bigquery
217+ bigquerycontrol
218+ resourcemanager
219+ )
173220 if [[ "${{ matrix.shard }}" == "Core1" ]]; then
174221 features="$(printf ",%s" "${core1_features[@]}")"
175222 echo "features=${features:1}" >> "${GITHUB_OUTPUT}"
@@ -179,6 +226,12 @@ jobs:
179226 elif [[ "${{ matrix.shard }}" == "Core3" ]]; then
180227 features="$(printf ",%s" "${core3_features[@]}")"
181228 echo "features=${features:1}" >> "${GITHUB_OUTPUT}"
229+ elif [[ "${{ matrix.shard }}" == "Core4" ]]; then
230+ features="$(printf ",%s" "${core4_features[@]}")"
231+ echo "features=${features:1}" >> "${GITHUB_OUTPUT}"
232+ elif [[ "${{ matrix.shard }}" == "Core5" ]]; then
233+ features="$(printf ",%s" "${core5_features[@]}")"
234+ echo "features=${features:1}" >> "${GITHUB_OUTPUT}"
182235 elif [[ "${{matrix.shard}}" == "Compute" ]]; then
183236 echo "features=compute" >> "${GITHUB_OUTPUT}"
184237 elif [[ "${{matrix.shard}}" == "AIPlatform" ]]; then
@@ -192,15 +245,25 @@ jobs:
192245 elif [[ "${{matrix.shard}}" == "Shard3" ]]; then
193246 features="$(printf ",%s" "${shard3_features[@]}")"
194247 echo "features=${features:1}" >> "${GITHUB_OUTPUT}"
248+ elif [[ "${{matrix.shard}}" == "Shard4" ]]; then
249+ features="$(printf ",%s" "${shard4_features[@]}")"
250+ echo "features=${features:1}" >> "${GITHUB_OUTPUT}"
251+ elif [[ "${{matrix.shard}}" == "Shard5" ]]; then
252+ features="$(printf ",%s" "${shard5_features[@]}")"
253+ echo "features=${features:1}" >> "${GITHUB_OUTPUT}"
195254 else
196255 skipped_features=("${core1_features[@]}")
197256 skipped_features+=("${core2_features[@]}")
198257 skipped_features+=("${core3_features[@]}")
258+ skipped_features+=("${core4_features[@]}")
259+ skipped_features+=("${core5_features[@]}")
199260 skipped_features+=(compute)
200261 skipped_features+=(aiplatform)
201262 skipped_features+=("${shard1_features[@]}")
202263 skipped_features+=("${shard2_features[@]}")
203264 skipped_features+=("${shard3_features[@]}")
265+ skipped_features+=("${shard4_features[@]}")
266+ skipped_features+=("${shard5_features[@]}")
204267 # We use vcpkg in this build, which ships with Protobuf v21.x.
205268 # Both `asset` and `channel` require Protobuf >= 23.x to compile on
206269 # Windows.
@@ -211,12 +274,19 @@ jobs:
211274 - name : Pre Build Disk Space
212275 shell : bash
213276 run : df -m
277+ - name : Download and Install CMake
278+ shell : bash
279+ run : |
280+ choco install -y --allow-downgrade cmake --version 3.31.6 || \
281+ (sleep 60 ; choco install -y --allow-downgrade cmake --version 3.31.6) || \
282+ (sleep 120 ; choco install -y --allow-downgrade cmake --version 3.31.6)
214283 - name : Download and Install sccache
215284 if : ${{ inputs.sccache-mode != 'DISABLED' }}
216285 working-directory : " ${{runner.temp}}"
217286 shell : bash
218287 run : |
219- curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.5.4/sccache-v0.5.4-x86_64-pc-windows-msvc.tar.gz | \
288+ mkdir -p /c/Users/runneradmin/.cargo/bin
289+ curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.9.1/sccache-v0.9.1-x86_64-pc-windows-msvc.tar.gz | \
220290 tar -zxf - --strip-components=1
221291 chmod +x sccache.exe
222292 mv sccache.exe /c/Users/runneradmin/.cargo/bin
0 commit comments