@@ -46,18 +46,26 @@ commands:
4646 command : |
4747 curl -LsSf https://astral.sh/uv/install.sh | sh
4848 source $HOME/.local/bin/env
49- cache-extra-repos :
49+ clone-repos :
50+ parameters :
51+ extra_repos :
52+ type : boolean
53+ default : true
5054 steps :
5155 - restore_cache :
5256 keys :
53- - extra- repos
57+ - repos-<<parameters.extra_repos>>
5458 - run :
5559 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
5765 - save_cache :
5866 paths :
5967 - $GITHUB_WORKSPACE
60- key : extra- repos
68+ key : repos-<<parameters.extra_repos>>
6169 fetch-verified-codemods :
6270 steps :
6371 - run :
@@ -242,6 +250,33 @@ jobs:
242250 branch_pattern : " develop"
243251 channel : " alerts-codemod-tests"
244252 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
245280 parse-tests :
246281 parameters :
247282 extra_repos :
@@ -257,10 +292,15 @@ jobs:
257292 install-pnpm : true
258293 install-yarn : true
259294 use-nvm-cache : true
260- - cache-extra-repos
295+ - clone-repos :
296+ extra_repos : <<parameters.extra_repos>>
261297 - run :
262298 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"
264304 echo "Running tests with args: $PYTEST_ARGS"
265305 TESTS_TO_RUN=$(PYTEST_ARGS=${PYTEST_ARGS} ./.circleci/collect.sh)
266306 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:
370410 - GHE
371411 requires :
372412 - 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
373424 - 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
374435 context :
375436 - GHE
376437 - slack
377438 filters :
378439 branches :
379440 only : develop
441+ matrix :
442+ parameters :
443+ sync_graph : [true, false]
444+ size : [small, large]
380445 pr_checks :
381446 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
385452 - codemod-tests :
386453 context :
387- - Codecov
388454 - GHE
389455 - Codemod
390456 - slack
457+ requires :
458+ - hold-codemod-tests
391459 - pre-commit
392460 - 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
393483 publish-packages :
394484 jobs :
395485 - linux-wheels :
0 commit comments