Skip to content

Commit 57577ff

Browse files
committed
Merge branch 'develop' into tom-cg-7930-remove-now-unused-imports-after-moving-symbol-out-of-file
2 parents 5da1428 + 1bce8ad commit 57577ff

File tree

356 files changed

+19402
-9395
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

356 files changed

+19402
-9395
lines changed

.circleci/config.yml

Lines changed: 12 additions & 227 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,12 @@ executors:
1717
machine:
1818
image: ubuntu-2404:current
1919
orbs:
20-
aws-cli: circleci/[email protected].2
20+
aws-cli: circleci/[email protected].3
2121
codecov: codecov/[email protected]
22-
node: circleci/node@7.0.0
22+
node: circleci/node@7.1.0
2323
github-cli: circleci/[email protected]
2424
slack: circleci/[email protected]
2525

26-
27-
28-
29-
30-
3126
commands:
3227
install-lfs:
3328
steps:
@@ -66,33 +61,12 @@ commands:
6661
paths:
6762
- $GITHUB_WORKSPACE
6863
key: repos-<<parameters.extra_repos>>
69-
fetch-verified-codemods:
70-
steps:
71-
- run:
72-
command: |
73-
uv run --frozen python -m tests.shared.codemod.commands fetch-verified-codemods --cli-api-key ${PROD_CLI_API_KEY}
74-
cache-verified-codemod-repos:
75-
steps:
76-
- restore_cache:
77-
keys:
78-
- v1-verified-codemod-repos-{{ checksum "tests/integration/verified_codemods/codemod_data/repo_commits.json" }}-{{.Environment.CIRCLE_NODE_INDEX}}-{{.Environment.CIRCLE_NODE_TOTAL}}
79-
- run:
80-
command: |
81-
uv run --frozen python -m tests.shared.codemod.commands clone-repos --verified-codemod-repos --token ${CODEGEN_BOT_GHE_TOKEN}
82-
- save_cache:
83-
paths:
84-
- $GITHUB_WORKSPACE
85-
key: v1-verified-codemod-repos-{{ checksum "tests/integration/verified_codemods/codemod_data/repo_commits.json" }}-{{.Environment.CIRCLE_NODE_INDEX}}-{{.Environment.CIRCLE_NODE_TOTAL}}
8664
build-wheels:
87-
parameters:
88-
base_packages:
89-
type: boolean
90-
default: false
9165
steps:
9266
- install-uv
9367
- restore_cache:
9468
keys:
95-
- cibuildwheel-cache-<<pipeline.parameters.python_version>>-{{ .Environment.CIRCLE_JOB }}-{{ checksum "uv.lock" }}--{{ checksum "pyproject.toml" }}
69+
- cibuildwheel-cache-<<pipeline.parameters.python_version>>-{{ .Environment.CIRCLE_JOB }}-{{ checksum "uv.lock" }}--{{ checksum "pyproject.toml" }}-{{ arch }}
9670
- run:
9771
command: |
9872
uv run --frozen cibuildwheel --output-dir dist
@@ -102,7 +76,7 @@ commands:
10276
- save_cache:
10377
paths:
10478
- /home/circleci/.cache/cibuildwheel
105-
key: cibuildwheel-cache-<<pipeline.parameters.python_version>>-{{ .Environment.CIRCLE_JOB }}-{{ checksum "uv.lock" }}--{{ checksum "pyproject.toml" }}
79+
key: cibuildwheel-cache-<<pipeline.parameters.python_version>>-{{ .Environment.CIRCLE_JOB }}-{{ checksum "uv.lock" }}--{{ checksum "pyproject.toml" }}-{{ arch }}
10680
setup-uv:
10781
steps:
10882
- install-lfs
@@ -121,19 +95,6 @@ commands:
12195
- ~/.cache/uv
12296
key: uv-cache-1-<<pipeline.parameters.python_version>>-{{ .Environment.CIRCLE_WORKING_DIRECTORY }}-{{ arch }}-{{ checksum "uv.lock" }}
12397
- setup-lfs
124-
setup-pre-commit:
125-
steps:
126-
- restore_cache:
127-
keys:
128-
- pre-commit-cache-<<pipeline.parameters.python_version>>-{{ checksum ".pre-commit-config.yaml" }}
129-
- run:
130-
command: uv run --frozen pre-commit install-hooks
131-
name: Install pre-commit hooks
132-
- save_cache:
133-
paths:
134-
- ~/.cache/pre-commit
135-
- ~/.cache/uv
136-
key: pre-commit-cache-<<pipeline.parameters.python_version>>-{{ checksum ".pre-commit-config.yaml" }}
13798
upload-tests:
13899
steps:
139100
- store_test_results:
@@ -181,7 +142,7 @@ commands:
181142
TESTS_TO_RUN=$(cat codecov_ats/tests_to_run.txt)
182143
echo $TESTS_TO_RUN
183144
echo $TESTS_TO_RUN | circleci tests run --command "xargs uv run --frozen pytest --cov \
184-
-o junit_suite_name="${CIRCLE_JOB}" \
145+
-o junit_suite_name="${CIRCLE_JOB}-${CIRCLE_NODE_INDEX}" \
185146
-n auto \
186147
-vv \
187148
--cov \
@@ -197,65 +158,18 @@ commands:
197158
cat codecov_ats/tests_to_run.txt | xargs uv run --frozen pytest \
198159
--cov \
199160
-vv \
200-
-o junit_suite_name="${CIRCLE_JOB}" \
161+
-o junit_suite_name="${CIRCLE_JOB}-${CIRCLE_NODE_INDEX}" \
201162
-n auto \
202163
--cov-append \
203164
<<parameters.collect_args>>
204165
- upload-tests
205166
- codecov/upload:
206167
flags: <<parameters.codecov_flags>>
207168
plugins: pycoverage,compress-pycoverage
169+
files: coverage.codecov.json
208170
# Define a job to be invoked later in a workflow.
209171
# See: https://circleci.com/docs/jobs-steps/#jobs-overview & https://circleci.com/docs/configuration-reference/#jobs
210172
jobs:
211-
unit-tests:
212-
parallelism: 8
213-
executor: default_image
214-
resource_class: "xlarge"
215-
steps:
216-
- setup-uv
217-
- node/install:
218-
use-nvm-cache: true
219-
- run_ats:
220-
default_tests: "tests/unit"
221-
collect_args: --timeout 50
222-
integration-tests:
223-
executor: default_image
224-
resource_class: "large"
225-
steps:
226-
- setup-uv
227-
- run:
228-
command: |
229-
uv run --frozen pytest -o junit_suite_name="${CIRCLE_JOB}" -n auto tests/integration/codegen
230-
- upload-tests
231-
doctests:
232-
executor: default_image
233-
steps:
234-
- setup-uv
235-
- run:
236-
command: |
237-
uv run --frozen pytest -o junit_suite_name="${CIRCLE_JOB}" -n auto docs
238-
- upload-tests
239-
codemod-tests:
240-
parallelism: 8
241-
executor: default_vm
242-
resource_class: "2xlarge+"
243-
steps:
244-
- install-uv
245-
- setup-uv
246-
- fetch-verified-codemods
247-
- cache-verified-codemod-repos
248-
- run_ats:
249-
default_tests: "tests/integration/codemod/test_verified_codemods.py"
250-
codecov_flags: "smart-tests-codemod"
251-
collect_args: --cli-api-key ${PROD_CLI_API_KEY} --token ${CODEGEN_BOT_GHE_TOKEN}
252-
ats_collect_args: --cli-api-key=${PROD_CLI_API_KEY},--token=${CODEGEN_BOT_GHE_TOKEN},
253-
split_tests: false
254-
- slack/notify:
255-
event: fail
256-
branch_pattern: "develop"
257-
channel: "alerts-codemod-tests"
258-
template: basic_fail_1
259173
oss-codemod-tests:
260174
parameters:
261175
sync_graph:
@@ -322,34 +236,19 @@ jobs:
322236
channel: "alerts-parse-tests"
323237
template: basic_fail_1
324238

325-
pre-commit:
326-
executor: default_image
327-
resource_class: large
328-
steps:
329-
- setup-uv
330-
- node/install:
331-
use-nvm-cache: true
332-
- setup-pre-commit
333-
- run:
334-
command: uv run --frozen pre-commit run --all-files --show-diff-on-failure --color=always
335-
name: run pre-commit
336239
linux-wheels:
337240
parameters:
338241
resource_class:
339242
type: string
340243
default: "large"
341-
base_packages:
342-
type: boolean
343-
default: false
344244
working_directory: ~/linux-wheels
345245
machine:
346246
image: ubuntu-2404:2024.05.1
347247
docker_layer_caching: true
348248
resource_class: <<parameters.resource_class>>
349249
steps:
350250
- checkout
351-
- build-wheels:
352-
base_packages: << parameters.base_packages >>
251+
- build-wheels
353252
- persist_to_workspace:
354253
root: .
355254
paths:
@@ -366,21 +265,6 @@ jobs:
366265
root: .
367266
paths:
368267
- dist/
369-
release-aws:
370-
executor: default_image
371-
steps:
372-
- checkout
373-
- attach_workspace:
374-
at: .
375-
- aws-cli/setup:
376-
role_arn: $AWS_OIDC_ARN
377-
- run:
378-
name: Release
379-
command: |
380-
uv tool install keyring --with keyrings.codeartifact
381-
export UV_PUBLISH_PASSWORD="$(aws codeartifact get-authorization-token --domain codegen --domain-owner 922078275900 --region us-east-1 --query authorizationToken --output text)"
382-
export UV_PUBLISH_USERNAME=aws
383-
uv publish
384268
release-pypi:
385269
executor: default_image
386270
steps:
@@ -403,119 +287,20 @@ jobs:
403287
channel: "release"
404288
template: success_tagged_deploy_1
405289
workflows:
406-
# develop-checks:
407-
# jobs:
408-
# - hold-parse-tests:
409-
# type: approval
410-
# filters:
411-
# branches:
412-
# ignore: develop
413-
# - parse-tests:
414-
# name: Manual-Parse-Tests
415-
# filters:
416-
# branches:
417-
# ignore: develop
418-
# context:
419-
# - GHE
420-
# requires:
421-
# - hold-parse-tests
422-
# matrix:
423-
# parameters:
424-
# extra_repos: [true, false]
425-
# - parse-tests:
426-
# context:
427-
# - GHE
428-
# - slack
429-
# filters:
430-
# branches:
431-
# only: develop
432-
# extra_repos: true
433-
# - parse-tests:
434-
# name: oss-parse-tests
435-
# context:
436-
# - GHE
437-
# - slack
438-
# filters:
439-
# branches:
440-
# only: develop
441-
# extra_repos: false
442-
# - oss-codemod-tests:
443-
# name: oss-codemod-tests
444-
# context:
445-
# - GHE
446-
# - slack
447-
# filters:
448-
# branches:
449-
# only: develop
450-
# matrix:
451-
# parameters:
452-
# sync_graph: [true, false]
453-
# size: [small, large]
454-
pr_checks:
455-
jobs:
456-
- unit-tests
457-
- integration-tests
458-
# - hold-codemod-tests:
459-
# type: approval
460-
# filters:
461-
# branches:
462-
# ignore: develop
463-
# - hold-large-oss-codemod-tests:
464-
# type: approval
465-
# filters:
466-
# branches:
467-
# ignore: develop
468-
# - codemod-tests:
469-
# context:
470-
# - GHE
471-
# - Codemod
472-
# - slack
473-
# requires:
474-
# - hold-codemod-tests
475-
- pre-commit
476-
# - doctests
477-
# - oss-codemod-tests:
478-
# filters:
479-
# branches:
480-
# ignore: develop
481-
# context:
482-
# - GHE
483-
# - slack
484-
# matrix:
485-
# parameters:
486-
# sync_graph: [true, false]
487-
# size: [small]
488-
# - oss-codemod-tests:
489-
# name: large-oss-codemod-tests
490-
# context:
491-
# - GHE
492-
# - slack
493-
# matrix:
494-
# parameters:
495-
# sync_graph: [true, false]
496-
# size: [large]
497-
# requires:
498-
# - hold-large-oss-codemod-tests
499290
publish-packages:
500291
jobs:
501292
- linux-wheels:
502293
filters:
503294
tags:
504295
only: /^v.*/
505-
base_packages: true
296+
matrix:
297+
parameters:
298+
resource_class: [large, arm.large]
299+
506300
- osx-wheels:
507301
filters:
508302
tags:
509303
only: /^v.*/
510-
- release-aws:
511-
filters:
512-
tags:
513-
only: /^v.*/
514-
context:
515-
- AWS
516-
requires:
517-
- linux-wheels
518-
- osx-wheels
519304
- release-pypi:
520305
filters:
521306
tags:

.gitattributes

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
**/expected_diff.txt filter=lfs diff=lfs merge=lfs -text
21
tests/integration/codemod/repos/extra/*.json filter=lfs diff=lfs merge=lfs -text
3-
**/expected_diff.patch filter=lfs diff=lfs merge=lfs -text
2+
**/test_codegen/expected_diff.patch filter=lfs diff=lfs merge=lfs -text
3+
**/test_codegen/expected_diff.patch.skip filter=lfs diff=lfs merge=lfs -text
4+
**/test_codegen_frontend/expected_diff.patch filter=lfs diff=lfs merge=lfs -text
45
tests/integration/codemod/repos/repos.json filter=lfs diff=lfs merge=lfs -text
56
tests/integration/verified_codemods/** filter=lfs diff=lfs merge=lfs -text
67
.github/disallowed-words.txt filter=lfs diff=lfs merge=lfs -text

.github/actions/report/action.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: report
2+
description: "Publish Test Reports"
3+
inputs:
4+
flag:
5+
required: true
6+
description: "Relevant codecov flag"
7+
codecov_token:
8+
required: true
9+
description: "Codecov token"
10+
runs:
11+
using: "composite"
12+
steps:
13+
- name: Upload test results to Codecov
14+
if: ${{ !cancelled() }}
15+
uses: codecov/test-results-action@v1
16+
with:
17+
token: ${{ inputs.codecov_token }}
18+
files: build/test-results/test/TEST.xml
19+
- name: Upload coverage reports to Codecov
20+
if: (success() || failure()) # always upload coverage reports even if the tests fail
21+
continue-on-error: true
22+
uses: codecov/[email protected]
23+
with:
24+
token: ${{ inputs.codecov_token }}
25+
files: coverage.xml
26+
flags: ${{ inputs.flag }}
27+
plugins: pycoverage,compress-pycoverage

0 commit comments

Comments
 (0)