@@ -46,18 +46,26 @@ commands:
46
46
command : |
47
47
curl -LsSf https://astral.sh/uv/install.sh | sh
48
48
source $HOME/.local/bin/env
49
- cache-extra-repos :
49
+ clone-repos :
50
+ parameters :
51
+ extra_repos :
52
+ type : boolean
53
+ default : true
50
54
steps :
51
55
- restore_cache :
52
56
keys :
53
- - extra- repos
57
+ - repos-<<parameters.extra_repos>>
54
58
- run :
55
59
command : |
56
- uv run --frozen gs codemod clone-repos --extra-repos --token ${CODEGEN_BOT_GHE_TOKEN} --clean-cache
60
+ EXTRA_REPOS_ARG=""
61
+ if [ "<<parameters.extra_repos>>" = "true" ]; then
62
+ EXTRA_REPOS_ARG="--extra-repos"
63
+ fi
64
+ uv run --frozen gs codemod clone-repos ${EXTRA_REPOS_ARG} --token ${CODEGEN_BOT_GHE_TOKEN} --clean-cache
57
65
- save_cache :
58
66
paths :
59
67
- $GITHUB_WORKSPACE
60
- key : extra- repos
68
+ key : repos-<<parameters.extra_repos>>
61
69
fetch-verified-codemods :
62
70
steps :
63
71
- run :
@@ -242,6 +250,33 @@ jobs:
242
250
branch_pattern : " develop"
243
251
channel : " alerts-codemod-tests"
244
252
template : basic_fail_1
253
+ oss-codemod-tests :
254
+ parameters :
255
+ sync_graph :
256
+ type : boolean
257
+ default : true
258
+ size :
259
+ type : string
260
+ default : " small"
261
+ parallelism : 2
262
+ executor : default_vm
263
+ resource_class : xlarge
264
+ steps :
265
+ - install-uv
266
+ - setup-uv
267
+ - clone-repos :
268
+ extra_repos : false
269
+ - run_ats :
270
+ default_tests : " tests/codemod/test_codemods.py"
271
+ codecov_flags : " smart-tests-codemod-oss"
272
+ collect_args : --size=<<parameters.size>> --sync-graph=<<parameters.sync_graph>> --token ${CODEGEN_BOT_GHE_TOKEN}
273
+ ats_collect_args : --size=<<parameters.size>>,--sync-graph=<<parameters.sync_graph>>,--token=${CODEGEN_BOT_GHE_TOKEN},
274
+ split_tests : false
275
+ - slack/notify :
276
+ event : fail
277
+ branch_pattern : " develop"
278
+ channel : " alerts-codemod-tests"
279
+ template : basic_fail_1
245
280
parse-tests :
246
281
parameters :
247
282
extra_repos :
@@ -257,10 +292,15 @@ jobs:
257
292
install-pnpm : true
258
293
install-yarn : true
259
294
use-nvm-cache : true
260
- - cache-extra-repos
295
+ - clone-repos :
296
+ extra_repos : <<parameters.extra_repos>>
261
297
- run :
262
298
command : |
263
- PYTEST_ARGS='--extra-repos=<<parameters.extra_repos>> --token ${CODEGEN_BOT_GHE_TOKEN} -o junit_suite_name="${CIRCLE_JOB}" tests/codemod/test_parse.py'
299
+ EXTRA_REPOS_ARG=""
300
+ if [ "<<parameters.extra_repos>>" = "true" ]; then
301
+ EXTRA_REPOS_ARG="--extra-repos"
302
+ fi
303
+ PYTEST_ARGS="${EXTRA_REPOS_ARG} --token ${CODEGEN_BOT_GHE_TOKEN} -o junit_suite_name=\"${CIRCLE_JOB}\" tests/codemod/test_parse.py"
264
304
echo "Running tests with args: $PYTEST_ARGS"
265
305
TESTS_TO_RUN=$(PYTEST_ARGS=${PYTEST_ARGS} ./.circleci/collect.sh)
266
306
echo $TESTS_TO_RUN | circleci tests run --command "ulimit -s unlimited; xargs uv run --frozen pytest -n auto ${PYTEST_ARGS}"
@@ -370,26 +410,76 @@ workflows:
370
410
- GHE
371
411
requires :
372
412
- hold-parse-tests
413
+ matrix :
414
+ parameters :
415
+ extra_repos : [true, false]
416
+ - parse-tests :
417
+ context :
418
+ - GHE
419
+ - slack
420
+ filters :
421
+ branches :
422
+ only : develop
423
+ extra_repos : true
373
424
- parse-tests :
425
+ name : oss-parse-tests
426
+ context :
427
+ - GHE
428
+ - slack
429
+ filters :
430
+ branches :
431
+ only : develop
432
+ extra_repos : false
433
+ - oss-codemod-tests :
434
+ name : oss-codemod-tests
374
435
context :
375
436
- GHE
376
437
- slack
377
438
filters :
378
439
branches :
379
440
only : develop
441
+ matrix :
442
+ parameters :
443
+ sync_graph : [true, false]
444
+ size : [small, large]
380
445
pr_checks :
381
446
jobs :
382
- - unit-tests :
383
- context :
384
- - Codecov
447
+ - unit-tests
448
+ - hold-codemod-tests :
449
+ type : approval
450
+ - hold-large-oss-codemod-tests :
451
+ type : approval
385
452
- codemod-tests :
386
453
context :
387
- - Codecov
388
454
- GHE
389
455
- Codemod
390
456
- slack
457
+ requires :
458
+ - hold-codemod-tests
391
459
- pre-commit
392
460
- doctests
461
+ - oss-codemod-tests :
462
+ filters :
463
+ branches :
464
+ ignore : develop
465
+ context :
466
+ - GHE
467
+ - slack
468
+ matrix :
469
+ parameters :
470
+ sync_graph : [true, false]
471
+ size : [small]
472
+ - oss-codemod-tests :
473
+ name : large-oss-codemod-tests
474
+ context :
475
+ - GHE
476
+ - slack
477
+ matrix :
478
+ parameters :
479
+ sync_graph : [true, false]
480
+ size : [large]
481
+ requires :
482
+ - hold-large-oss-codemod-tests
393
483
publish-packages :
394
484
jobs :
395
485
- linux-wheels :
0 commit comments