Skip to content

Commit ce8f7df

Browse files
authored
Format Python and Bash scripts using ruff and shfmt (#1454)
* Update uv.lock * Update CONTRIBUTING.md for clang-format-all.sh * Rename "clang_format" group to "format" * Add etc/format.py and update for mongo-cxx-driver * Format source files with etc/format.py * Add ruff to pyproject.toml * Add etc/ruff-format-all.sh * Format all Python scripts with etc/ruff-format-all.sh * Add shfmt-py to pyproject.toml * Add etc/shfmt-format-all.sh * Format all Bash scripts with etc/shfmt-format-all.sh * Apply `ruff check --fix` * Address ruff check warning E741 * Address ruff check warning E731 * Address ruff check warning F524 * Move ruff and shfmt-py into optional group "format-scripts" * format.py: remove unused _get_files_matching()
1 parent 6d98fab commit ce8f7df

Some content is hidden

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

62 files changed

+1340
-1107
lines changed

.evergreen/config_generator/components/abi_stability.py

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
from config_generator.components.funcs.install_c_driver import InstallCDriver
2-
from config_generator.components.funcs.install_uv import InstallUV
3-
4-
from config_generator.etc.distros import find_large_distro
5-
from config_generator.etc.function import Function, merge_defns
6-
from config_generator.etc.utils import bash_exec
1+
from itertools import product
72

83
from shrub.v3.evg_build_variant import BuildVariant
94
from shrub.v3.evg_command import EvgCommandType, git_get_project, s3_put
105
from shrub.v3.evg_task import EvgTask, EvgTaskRef
116
from shrub.v3.evg_task_group import EvgTaskGroup
127

13-
from itertools import product
14-
8+
from config_generator.components.funcs.install_c_driver import InstallCDriver
9+
from config_generator.components.funcs.install_uv import InstallUV
10+
from config_generator.etc.distros import find_large_distro
11+
from config_generator.etc.function import Function, merge_defns
12+
from config_generator.etc.utils import bash_exec
1513

1614
TAG = 'abi-stability'
1715

@@ -34,11 +32,10 @@ class AbiComplianceCheck(Function):
3432
commands = [
3533
bash_exec(
3634
command_type=EvgCommandType.SETUP,
37-
script='mongo-cxx-driver/.evergreen/scripts/abi-compliance-check-setup.sh'
35+
script='mongo-cxx-driver/.evergreen/scripts/abi-compliance-check-setup.sh',
3836
),
3937
bash_exec(
40-
command_type=EvgCommandType.TEST,
41-
script='mongo-cxx-driver/.evergreen/scripts/abi-compliance-check-test.sh'
38+
command_type=EvgCommandType.TEST, script='mongo-cxx-driver/.evergreen/scripts/abi-compliance-check-test.sh'
4239
),
4340
s3_put(
4441
command_type=EvgCommandType.SYSTEM,
@@ -92,11 +89,11 @@ class Abidiff(Function):
9289
commands = [
9390
bash_exec(
9491
command_type=EvgCommandType.SETUP,
95-
script='mongo-cxx-driver/.evergreen/scripts/abidiff-setup.sh'
92+
script='mongo-cxx-driver/.evergreen/scripts/abidiff-setup.sh',
9693
),
9794
bash_exec(
9895
command_type=EvgCommandType.TEST,
99-
script='mongo-cxx-driver/.evergreen/scripts/abidiff-test.sh'
96+
script='mongo-cxx-driver/.evergreen/scripts/abidiff-test.sh',
10097
),
10198
s3_put(
10299
command_type=EvgCommandType.SYSTEM,
@@ -127,7 +124,7 @@ class AbiProhibitedSymbols(Function):
127124
name = 'abi-prohibited-symbols'
128125
commands = bash_exec(
129126
command_type=EvgCommandType.TEST,
130-
script='mongo-cxx-driver/.evergreen/scripts/abi-prohibited-symbols-test.sh'
127+
script='mongo-cxx-driver/.evergreen/scripts/abi-prohibited-symbols-test.sh',
131128
)
132129

133130

@@ -198,7 +195,7 @@ def task_groups():
198195
'distro_id',
199196
'UV_INSTALL_DIR',
200197
],
201-
script='mongo-cxx-driver/.evergreen/scripts/abi-stability-setup.sh'
198+
script='mongo-cxx-driver/.evergreen/scripts/abi-stability-setup.sh',
202199
),
203200
s3_put(
204201
command_type=EvgCommandType.SETUP,
@@ -214,7 +211,9 @@ def task_groups():
214211
],
215212
tasks=[task.name for task in TASKS if polyfill in task.name and f'cxx{cxx_standard}' in task.name],
216213
teardown_task_can_fail_task=True,
217-
teardown_task=[bash_exec(script='rm -rf *'),],
214+
teardown_task=[
215+
bash_exec(script='rm -rf *'),
216+
],
218217
)
219218
for polyfill, cxx_standard in MATRIX
220219
]
@@ -223,11 +222,8 @@ def task_groups():
223222
def variants():
224223
return [
225224
BuildVariant(
226-
name=f'abi-stability',
227-
display_name=f'ABI Stability Checks',
228-
tasks=[
229-
EvgTaskRef(name=f'tg-{TAG}-{polyfill}-cxx{cxx_standard}')
230-
for polyfill, cxx_standard in MATRIX
231-
],
225+
name='abi-stability',
226+
display_name='ABI Stability Checks',
227+
tasks=[EvgTaskRef(name=f'tg-{TAG}-{polyfill}-cxx{cxx_standard}') for polyfill, cxx_standard in MATRIX],
232228
)
233229
]

.evergreen/config_generator/components/atlas_search_indexes.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1+
from shrub.v3.evg_build_variant import BuildVariant
2+
from shrub.v3.evg_command import EvgCommandType, expansions_update
3+
from shrub.v3.evg_task import EvgTask, EvgTaskRef
4+
from shrub.v3.evg_task_group import EvgTaskGroup
5+
16
from config_generator.components.funcs.compile import Compile
27
from config_generator.components.funcs.fetch_det import FetchDET
38
from config_generator.components.funcs.install_c_driver import InstallCDriver
49
from config_generator.components.funcs.install_uv import InstallUV
510
from config_generator.components.funcs.setup import Setup
6-
711
from config_generator.etc.distros import find_large_distro
812
from config_generator.etc.function import Function
913
from config_generator.etc.utils import bash_exec
1014

11-
from shrub.v3.evg_build_variant import BuildVariant
12-
from shrub.v3.evg_command import EvgCommandType, expansions_update
13-
from shrub.v3.evg_task import EvgTask, EvgTaskRef
14-
from shrub.v3.evg_task_group import EvgTaskGroup
15-
16-
1715
TAG = 'atlas-search-indexes'
1816

1917

@@ -32,12 +30,12 @@ class TestSearchIndexHelpers(Function):
3230
commands = bash_exec(
3331
command_type=EvgCommandType.TEST,
3432
working_dir='mongo-cxx-driver',
35-
script='''\
33+
script="""\
3634
export MONGODB_URI=${MONGODB_URI}
3735
export LD_LIBRARY_PATH=$(pwd)/../mongoc/lib
3836
3937
./build/src/mongocxx/test/test_driver "atlas search indexes prose tests"
40-
'''
38+
""",
4139
)
4240

4341

@@ -87,9 +85,9 @@ def task_groups():
8785
bash_exec(
8886
working_dir='mongo-cxx-driver',
8987
add_expansions_to_env=True,
90-
script='${DRIVERS_TOOLS}/.evergreen/atlas/teardown-atlas-cluster.sh'
88+
script='${DRIVERS_TOOLS}/.evergreen/atlas/teardown-atlas-cluster.sh',
9189
)
92-
]
90+
],
9391
)
9492
for mongodb_version in MATRIX
9593
]

.evergreen/config_generator/components/benchmarks.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
1-
from config_generator.components.funcs.setup import Setup
1+
from shrub.v3.evg_build_variant import BuildVariant
2+
from shrub.v3.evg_command import EvgCommandType
3+
from shrub.v3.evg_task import EvgTask, EvgTaskRef
4+
25
from config_generator.components.funcs.fetch_c_driver_source import FetchCDriverSource
6+
from config_generator.components.funcs.setup import Setup
37
from config_generator.components.funcs.start_mongod import StartMongod
4-
58
from config_generator.etc.function import Function, merge_defns
69
from config_generator.etc.utils import bash_exec
710

8-
from shrub.v3.evg_build_variant import BuildVariant
9-
from shrub.v3.evg_command import BuiltInCommand, EvgCommandType
10-
from shrub.v3.evg_task import EvgTask, EvgTaskRef
11-
12-
1311
TAG = 'benchmarks'
1412

1513

@@ -30,7 +28,17 @@ class RunBenchmarks(Function):
3028
command_type=EvgCommandType.SYSTEM,
3129
working_dir='mongo-cxx-driver',
3230
script='.evergreen/scripts/send-perf-data.sh',
33-
include_expansions_in_env=['project_id', 'version_id', 'build_variant', 'parsed_order_id', 'task_name', 'task_id', 'execution', 'requester', 'revision_order_id'],
31+
include_expansions_in_env=[
32+
'project_id',
33+
'version_id',
34+
'build_variant',
35+
'parsed_order_id',
36+
'task_name',
37+
'task_id',
38+
'execution',
39+
'requester',
40+
'revision_order_id',
41+
],
3442
),
3543
]
3644

@@ -40,12 +48,12 @@ class CompileBenchmarks(Function):
4048
commands = bash_exec(
4149
command_type=EvgCommandType.SETUP,
4250
working_dir='mongo-cxx-driver',
43-
script='''\
51+
script="""\
4452
set -o errexit
4553
set -o pipefail
4654
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(pwd)/../mongoc" -DCMAKE_CXX_STANDARD=20
4755
cmake --build build --target microbenchmarks --parallel 64
48-
'''
56+
""",
4957
)
5058

5159

@@ -77,9 +85,5 @@ def tasks():
7785

7886
def variants():
7987
return [
80-
BuildVariant(
81-
name=TAG,
82-
display_name=TAG,
83-
tasks=[EvgTaskRef(name=f'.{TAG}')]
84-
),
88+
BuildVariant(name=TAG, display_name=TAG, tasks=[EvgTaskRef(name=f'.{TAG}')]),
8589
]

.evergreen/config_generator/components/clang_tidy.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
1+
from typing import Mapping
2+
3+
from shrub.v3.evg_build_variant import BuildVariant
4+
from shrub.v3.evg_command import EvgCommandType
5+
from shrub.v3.evg_task import EvgTask, EvgTaskRef
6+
17
from config_generator.components.funcs.install_c_driver import InstallCDriver
28
from config_generator.components.funcs.install_uv import InstallUV
39
from config_generator.components.funcs.setup import Setup
4-
510
from config_generator.etc.distros import compiler_to_vars, find_small_distro
611
from config_generator.etc.function import Function
712
from config_generator.etc.utils import bash_exec
813

9-
from shrub.v3.evg_build_variant import BuildVariant
10-
from shrub.v3.evg_command import EvgCommandType
11-
from shrub.v3.evg_task import EvgTask, EvgTaskRef
12-
13-
from typing import Mapping
14-
15-
1614
TAG = 'clang-tidy'
1715

1816

.evergreen/config_generator/components/cmake_compat.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1+
from shrub.v3.evg_build_variant import BuildVariant
2+
from shrub.v3.evg_command import EvgCommandType
3+
from shrub.v3.evg_task import EvgTask, EvgTaskRef
4+
15
from config_generator.components.funcs.fetch_c_driver_source import FetchCDriverSource
26
from config_generator.components.funcs.install_c_driver import InstallCDriver
37
from config_generator.components.funcs.install_uv import InstallUV
48
from config_generator.components.funcs.setup import Setup
5-
69
from config_generator.etc.distros import find_small_distro
710
from config_generator.etc.function import Function
811
from config_generator.etc.utils import bash_exec
912

10-
from shrub.v3.evg_build_variant import BuildVariant
11-
from shrub.v3.evg_command import EvgCommandType
12-
from shrub.v3.evg_task import EvgTask, EvgTaskRef
13-
1413
TAG = 'cmake-compat'
1514

1615
# pylint: disable=line-too-long

.evergreen/config_generator/components/compile_only.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
from config_generator.components.funcs.compile import Compile
2-
from config_generator.components.funcs.install_uv import InstallUV
3-
from config_generator.components.funcs.install_c_driver import InstallCDriver
4-
from config_generator.components.funcs.setup import Setup
5-
6-
from config_generator.etc.distros import compiler_to_vars, find_large_distro, make_distro_str
7-
81
from shrub.v3.evg_build_variant import BuildVariant
92
from shrub.v3.evg_command import KeyValueParam, expansions_update
103
from shrub.v3.evg_task import EvgTask, EvgTaskRef
114

5+
from config_generator.components.funcs.compile import Compile
6+
from config_generator.components.funcs.install_c_driver import InstallCDriver
7+
from config_generator.components.funcs.install_uv import InstallUV
8+
from config_generator.components.funcs.setup import Setup
9+
from config_generator.etc.distros import compiler_to_vars, find_large_distro, make_distro_str
1210

1311
TAG = 'compile-only'
1412

@@ -100,7 +98,7 @@ def tasks():
10098
build_type=build_type,
10199
compiler=compiler,
102100
vars=compile_vars,
103-
)
101+
),
104102
]
105103

106104
yield EvgTask(
@@ -109,7 +107,7 @@ def tasks():
109107
run_on=distro.name,
110108
patchable=patchable,
111109
commands=commands,
112-
disable=(True if distro_name == 'rhel7.9' else None), # DEVPROD-18187
110+
disable=(True if distro_name == 'rhel7.9' else None), # DEVPROD-18187
113111
)
114112

115113

@@ -126,9 +124,7 @@ def variants():
126124

127125
distros = sorted(list({entry[0] for entry in MATRIX}))
128126
batched = [distro for distro in distros if distro in limited_distros]
129-
tasks = [
130-
EvgTaskRef(name=f'.{TAG} .{distro}', batchtime=one_day) for distro in batched
131-
] + [
127+
tasks = [EvgTaskRef(name=f'.{TAG} .{distro}', batchtime=one_day) for distro in batched] + [
132128
EvgTaskRef(name=f'.{TAG}' + ''.join(f' !.{distro}' for distro in batched))
133129
]
134130

.evergreen/config_generator/components/docker_build.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
1-
from config_generator.components.funcs.setup import Setup
1+
from shrub.v3.evg_build_variant import BuildVariant
2+
from shrub.v3.evg_command import EvgCommandType, KeyValueParam, ec2_assume_role, expansions_update
3+
from shrub.v3.evg_task import EvgTask, EvgTaskRef
24

5+
from config_generator.components.funcs.setup import Setup
36
from config_generator.etc.distros import find_large_distro
47
from config_generator.etc.function import Function
58
from config_generator.etc.utils import bash_exec
69

7-
from shrub.v3.evg_build_variant import BuildVariant
8-
from shrub.v3.evg_command import EvgCommandType
9-
from shrub.v3.evg_task import EvgTask, EvgTaskRef
10-
from shrub.v3.evg_command import KeyValueParam, ec2_assume_role, expansions_update
11-
12-
1310
TAG = 'docker-build'
1411

1512

@@ -32,10 +29,10 @@ class DockerImageBuild(Function):
3229
bash_exec(
3330
command_type=EvgCommandType.SETUP,
3431
include_expansions_in_env=[
35-
"AWS_ACCESS_KEY_ID",
36-
"AWS_SECRET_ACCESS_KEY",
37-
"AWS_SESSION_TOKEN",
38-
"DOCKER_CONFIG",
32+
'AWS_ACCESS_KEY_ID',
33+
'AWS_SECRET_ACCESS_KEY',
34+
'AWS_SESSION_TOKEN',
35+
'DOCKER_CONFIG',
3936
],
4037
script='aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 901841024863.dkr.ecr.us-east-1.amazonaws.com',
4138
),
@@ -44,10 +41,10 @@ class DockerImageBuild(Function):
4441
working_dir='mongo-cxx-driver',
4542
env={
4643
# Use Amazon ECR as pull-through cache for DockerHub to avoid rate limits.
47-
"DEFAULT_SEARCH_REGISTRY": "901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub",
44+
'DEFAULT_SEARCH_REGISTRY': '901841024863.dkr.ecr.us-east-1.amazonaws.com/dockerhub',
4845
},
4946
include_expansions_in_env=['DOCKER_CONFIG'],
50-
script='''\
47+
script="""\
5148
set -o errexit
5249
set -o pipefail
5350
set -x
@@ -59,7 +56,7 @@ class DockerImageBuild(Function):
5956
make -C extras/docker/redhat-ubi-9.4 nocachebuild test
6057
echo "Building Ubuntu Docker image"
6158
make -C extras/docker/noble nocachebuild test
62-
''',
59+
""",
6360
),
6461
]
6562

.evergreen/config_generator/components/funcs/compile.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
from typing import Mapping
2+
13
from shrub.v3.evg_command import EvgCommandType
24

35
from config_generator.etc.distros import compiler_to_vars
46
from config_generator.etc.function import Function
57
from config_generator.etc.utils import bash_exec
68

7-
from typing import Mapping
8-
99

1010
class Compile(Function):
1111
name = 'compile'
@@ -42,7 +42,7 @@ def call(
4242
build_type: str | None = None,
4343
compiler: str | None = None,
4444
polyfill: str | None = None,
45-
vars: Mapping[str, str] = {}
45+
vars: Mapping[str, str] = {},
4646
):
4747
vars = vars if vars else {}
4848

0 commit comments

Comments
 (0)