Skip to content

Commit de1d7ed

Browse files
authored
feat(script): convert matrix scripts (#318)
1 parent bd35659 commit de1d7ed

File tree

7 files changed

+260
-98
lines changed

7 files changed

+260
-98
lines changed

.github/actions/cache/action.yml

Lines changed: 120 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,7 @@ runs:
190190
'clients/algoliasearch-client-javascript/packages/algoliasearch/**',
191191
'clients/algoliasearch-client-javascript/packages/client-search/**',
192192
'clients/algoliasearch-client-javascript/packages/client-analytics/**',
193-
'clients/algoliasearch-client-javascript/packages/client-personalization/**',
194-
'templates/javascript/**'
193+
'clients/algoliasearch-client-javascript/packages/client-personalization/**'
195194
)}}
196195
197196
- name: Restore built JavaScript search client
@@ -207,7 +206,8 @@ runs:
207206
'clients/algoliasearch-client-javascript/packages/client-search/builds/**',
208207
'clients/algoliasearch-client-javascript/packages/client-search/package.json',
209208
'specs/bundled/search.yml',
210-
'templates/javascript/**'
209+
'templates/javascript/**',
210+
'generators/src/**'
211211
)}}
212212
213213
- name: Restore built JavaScript recommend client
@@ -223,7 +223,8 @@ runs:
223223
'clients/algoliasearch-client-javascript/packages/recommend/builds/**',
224224
'clients/algoliasearch-client-javascript/packages/recommend/package.json',
225225
'specs/bundled/recommend.yml',
226-
'templates/javascript/**'
226+
'templates/javascript/**',
227+
'generators/src/**'
227228
)}}
228229
229230
- name: Restore built JavaScript query-suggestions client
@@ -239,7 +240,8 @@ runs:
239240
'clients/algoliasearch-client-javascript/packages/client-query-suggestions/builds/**',
240241
'clients/algoliasearch-client-javascript/packages/client-query-suggestions/package.json',
241242
'specs/bundled/query-suggestions.yml',
242-
'templates/javascript/**'
243+
'templates/javascript/**',
244+
'generators/src/**'
243245
)}}
244246
245247
- name: Restore built JavaScript personalization client
@@ -255,7 +257,8 @@ runs:
255257
'clients/algoliasearch-client-javascript/packages/client-personalization/builds/**',
256258
'clients/algoliasearch-client-javascript/packages/client-personalization/package.json',
257259
'specs/bundled/personalization.yml',
258-
'templates/javascript/**'
260+
'templates/javascript/**',
261+
'generators/src/**'
259262
)}}
260263
261264
- name: Restore built JavaScript analytics client
@@ -271,7 +274,8 @@ runs:
271274
'clients/algoliasearch-client-javascript/packages/client-analytics/builds/**',
272275
'clients/algoliasearch-client-javascript/packages/client-analytics/package.json',
273276
'specs/bundled/analytics.yml',
274-
'templates/javascript/**'
277+
'templates/javascript/**',
278+
'generators/src/**'
275279
)}}
276280
277281
- name: Restore built JavaScript abtesting client
@@ -287,7 +291,8 @@ runs:
287291
'clients/algoliasearch-client-javascript/packages/client-abtesting/builds/**',
288292
'clients/algoliasearch-client-javascript/packages/client-abtesting/package.json',
289293
'specs/bundled/abtesting.yml',
290-
'templates/javascript/**'
294+
'templates/javascript/**',
295+
'generators/src/**'
291296
)}}
292297
293298
- name: Restore built JavaScript insights client
@@ -303,7 +308,8 @@ runs:
303308
'clients/algoliasearch-client-javascript/packages/client-insights/builds/**',
304309
'clients/algoliasearch-client-javascript/packages/client-insights/package.json',
305310
'specs/bundled/insights.yml',
306-
'templates/javascript/**'
311+
'templates/javascript/**',
312+
'generators/src/**'
307313
)}}
308314
309315
- name: Restore built JavaScript sources client
@@ -319,7 +325,8 @@ runs:
319325
'clients/algoliasearch-client-javascript/packages/client-sources/builds/**',
320326
'clients/algoliasearch-client-javascript/packages/client-sources/package.json',
321327
'specs/bundled/sources.yml',
322-
'templates/javascript/**'
328+
'templates/javascript/**',
329+
'generators/src/**'
323330
)}}
324331
325332
- name: Restore built JavaScript predict client
@@ -335,34 +342,130 @@ runs:
335342
'clients/algoliasearch-client-javascript/packages/client-predict/builds/**',
336343
'clients/algoliasearch-client-javascript/packages/client-predict/package.json',
337344
'specs/bundled/predict.yml',
338-
'templates/javascript/**'
345+
'templates/javascript/**',
346+
'generators/src/**'
339347
)}}
340348
341349
# Restore Java clients: used during 'cts' or 'codegen'
342-
- name: Restore built Java client
350+
- name: Restore built Java search client
343351
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
344352
uses: actions/cache@v2
345353
with:
346354
path: clients/algoliasearch-client-java-2
347355
key: |
348356
${{ env.CACHE_VERSION }}-${{
349357
hashFiles(
350-
'clients/algoliasearch-client-java-2/**',
358+
'clients/algoliasearch-client-java-2/search/**',
359+
'clients/algoliasearch-client-java-2/model/search/**',
360+
'specs/bundled/search.yml',
351361
'templates/java/**',
352-
'specs/bundled/search.yml'
362+
'generators/src/**'
353363
)}}
354364
355365
# Restore PHP clients: used during 'cts' or 'codegen'
356-
- name: Restore built PHP client
366+
- name: Restore built PHP search client
367+
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
368+
uses: actions/cache@v2
369+
with:
370+
path: clients/algoliasearch-client-php
371+
key: |
372+
${{ env.CACHE_VERSION }}-${{
373+
hashFiles(
374+
'clients/algoliasearch-client-php/lib/Api/SearchApi.php',
375+
'clients/algoliasearch-client-php/lib/Configuration/SearchConfig.php',
376+
'specs/bundled/search.yml',
377+
'templates/php/**',
378+
'generators/src/**'
379+
)}}
380+
381+
- name: Restore built PHP recommend client
382+
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
383+
uses: actions/cache@v2
384+
with:
385+
path: clients/algoliasearch-client-php
386+
key: |
387+
${{ env.CACHE_VERSION }}-${{
388+
hashFiles(
389+
'clients/algoliasearch-client-php/lib/Api/RecommendApi.php',
390+
'clients/algoliasearch-client-php/lib/Configuration/RecommendConfig.php',
391+
'specs/bundled/recommend.yml',
392+
'templates/php/**',
393+
'generators/src/**'
394+
)}}
395+
396+
- name: Restore built PHP personalization client
397+
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
398+
uses: actions/cache@v2
399+
with:
400+
path: clients/algoliasearch-client-php
401+
key: |
402+
${{ env.CACHE_VERSION }}-${{
403+
hashFiles(
404+
'clients/algoliasearch-client-php/lib/Api/PersonalizationApi.php',
405+
'clients/algoliasearch-client-php/lib/Configuration/PersonalizationConfig.php',
406+
'specs/bundled/personalization.yml',
407+
'templates/php/**',
408+
'generators/src/**'
409+
)}}
410+
411+
- name: Restore built PHP analytics client
357412
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
358413
uses: actions/cache@v2
359414
with:
360415
path: clients/algoliasearch-client-php
361416
key: |
362417
${{ env.CACHE_VERSION }}-${{
363418
hashFiles(
364-
'clients/algoliasearch-client-php/*',
365-
'specs/bundled/search.yml'
419+
'clients/algoliasearch-client-php/lib/Api/AnalyticsApi.php',
420+
'clients/algoliasearch-client-php/lib/Configuration/AnalyticsConfig.php',
421+
'specs/bundled/analytics.yml',
422+
'templates/php/**',
423+
'generators/src/**'
424+
)}}
425+
426+
- name: Restore built PHP insights client
427+
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
428+
uses: actions/cache@v2
429+
with:
430+
path: clients/algoliasearch-client-php
431+
key: |
432+
${{ env.CACHE_VERSION }}-${{
433+
hashFiles(
434+
'clients/algoliasearch-client-php/lib/Api/InsightsApi.php',
435+
'clients/algoliasearch-client-php/lib/Configuration/InsightsConfig.php',
436+
'specs/bundled/insights.yml',
437+
'templates/php/**',
438+
'generators/src/**'
439+
)}}
440+
441+
- name: Restore built PHP abtesting client
442+
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
443+
uses: actions/cache@v2
444+
with:
445+
path: clients/algoliasearch-client-php
446+
key: |
447+
${{ env.CACHE_VERSION }}-${{
448+
hashFiles(
449+
'clients/algoliasearch-client-php/lib/Api/AbTestingApi.php',
450+
'clients/algoliasearch-client-php/lib/Configuration/AbTestingConfig.php',
451+
'specs/bundled/abtesting.yml',
452+
'templates/php/**',
453+
'generators/src/**'
454+
)}}
455+
456+
- name: Restore built PHP query-suggestions client
457+
if: ${{ inputs.job == 'cts' || inputs.job == 'codegen' }}
458+
uses: actions/cache@v2
459+
with:
460+
path: clients/algoliasearch-client-php
461+
key: |
462+
${{ env.CACHE_VERSION }}-${{
463+
hashFiles(
464+
'clients/algoliasearch-client-php/lib/Api/QuerySuggestionsApi.php',
465+
'clients/algoliasearch-client-php/lib/Configuration/QuerySuggestionsConfig.php',
466+
'specs/bundled/query-suggestions.yml',
467+
'templates/php/**',
468+
'generators/src/**'
366469
)}}
367470
368471
- name: Install JavaScript dependencies

.github/actions/setup/action.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ runs:
7878
run: |
7979
base_changed=${{ steps.diff.outputs.GITHUB_ACTIONS_CHANGED > 0 || steps.diff.outputs.SCRIPTS_CHANGED > 0 || steps.diff.outputs.COMMON_SPECS_CHANGED > 0 }}
8080
81-
matrix=$(./scripts/ci/create-spec-matrix.sh $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }})
81+
matrix=$(yarn workspace scripts createMatrix $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }})
8282
8383
if [[ $matrix == '{"client":["no-run"]}' ]]; then
8484
run="false"
@@ -101,7 +101,7 @@ runs:
101101
algoliasearch_changed=${{ steps.diff.outputs.JS_ALGOLIASEARCH_CHANGED > 0 }}
102102
common_changed=${{ steps.diff.outputs.JS_COMMON_CHANGED > 0 }}
103103
104-
matrix=$(./scripts/ci/create-client-matrix.sh javascript $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }})
104+
matrix=$(yarn workspace scripts createMatrix $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }} javascript)
105105
106106
if [[ $algoliasearch_changed == 'true' || $base_changed == 'true' ]]; then
107107
echo "Running algoliasearch: true"
@@ -132,7 +132,7 @@ runs:
132132
run: |
133133
base_changed=${{ steps.diff.outputs.GITHUB_ACTIONS_CHANGED > 0 || steps.diff.outputs.COMMON_SPECS_CHANGED > 0 || steps.diff.outputs.SCRIPTS_CHANGED > 0 || steps.diff.outputs.GENERATORS_CHANGED > 0 || steps.diff.outputs.JAVA_TEMPLATE_CHANGED > 0 }}
134134
135-
matrix=$(./scripts/ci/create-client-matrix.sh java $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }})
135+
matrix=$(yarn workspace scripts createMatrix $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }} java)
136136
137137
if [[ $matrix == '{"client":["no-run"]}' ]]; then
138138
run="false"
@@ -153,7 +153,7 @@ runs:
153153
run: |
154154
base_changed=${{ steps.diff.outputs.GITHUB_ACTIONS_CHANGED > 0 || steps.diff.outputs.COMMON_SPECS_CHANGED > 0 || steps.diff.outputs.SCRIPTS_CHANGED > 0 || steps.diff.outputs.GENERATORS_CHANGED > 0 || steps.diff.outputs.PHP_TEMPLATE_CHANGED > 0 }}
155155
156-
matrix=$(./scripts/ci/create-client-matrix.sh php $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }})
156+
matrix=$(yarn workspace scripts createMatrix $base_changed ${{ steps.diff.outputs.ORIGIN_BRANCH }} php)
157157
158158
if [[ $matrix == '{"client":["no-run"]}' ]]; then
159159
run="false"

.github/workflows/check.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,8 @@ jobs:
166166
format('{0}/builds/**', matrix.client.folder),
167167
format('{0}/package.json', matrix.client.folder),
168168
format('specs/bundled/{0}.yml', matrix.client.name),
169-
'templates/javascript/**'
169+
'templates/javascript/**',
170+
'generators/src/**'
170171
)}}
171172
172173
- name: Generate '${{ matrix.client.name }}' client
@@ -210,8 +211,7 @@ jobs:
210211
'clients/algoliasearch-client-javascript/packages/algoliasearch/**',
211212
'clients/algoliasearch-client-javascript/packages/client-search/**',
212213
'clients/algoliasearch-client-javascript/packages/client-analytics/**',
213-
'clients/algoliasearch-client-javascript/packages/client-personalization/**',
214-
'templates/javascript/**'
214+
'clients/algoliasearch-client-javascript/packages/client-personalization/**'
215215
)}}
216216
217217
- name: Build 'algoliasearch' client
@@ -248,9 +248,11 @@ jobs:
248248
key: |
249249
${{ env.CACHE_VERSION }}-${{
250250
hashFiles(
251-
format('{0}/**', matrix.client.folder),
251+
format('{0}/{1}/**', matrix.client.folder, matrix.client.name),
252+
format('{0}/model/{1}/**', matrix.client.folder, matrix.client.name),
253+
format('specs/bundled/{0}.yml', matrix.client.name),
252254
'templates/java/**',
253-
format('specs/bundled/{0}.yml', matrix.client.name)
255+
'generators/src/**'
254256
)}}
255257
256258
- name: Generate '${{ matrix.client.name }}' client
@@ -291,8 +293,11 @@ jobs:
291293
key: |
292294
${{ env.CACHE_VERSION }}-${{
293295
hashFiles(
294-
format('{0}/**', matrix.client.folder),
295-
format('specs/bundled/{0}.yml', matrix.client.name)
296+
format('{0}/lib/Api/{1}.php', matrix.client.folder, matrix.client.api),
297+
format('{0}/lib/Configuration/{1}.php', matrix.client.folder, matrix.client.config),
298+
format('specs/bundled/{0}.yml', matrix.client.name),
299+
'templates/php/**',
300+
'generators/src/**'
296301
)}}
297302
298303
- name: Generate '${{ matrix.client.name }}' client

scripts/ci/create-client-matrix.sh

Lines changed: 0 additions & 41 deletions
This file was deleted.

scripts/ci/create-spec-matrix.sh

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)