From a36aa11f96219303b58f723a889c6f364b0518bd Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 15:45:27 +0300 Subject: [PATCH 01/26] update_python --- .github/workflows/build.yml | 10 +++++----- .github/workflows/coverage.yaml | 2 +- .github/workflows/nightly.yml | 4 ++-- .github/workflows/pr-test.yml | 2 +- .../checks/resource/aws/DeprecatedLambdaRuntime.py | 2 +- .../checks/resource/aws/DeprecatedLambdaRuntime.py | 2 +- integration_tests/prepare_data.sh | 2 +- .../example_IAMRoleAllowAssumeFromAccount-PASSED-2.yml | 2 +- tests/github_actions/test_graph_manager.py | 6 +++--- .../.github/workflows/vulnerable_container.yaml | 2 +- .../checks/resources/SGAttachedToResource/main.tf | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 09f27a127a..09d2ca52d2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -97,7 +97,7 @@ jobs: strategy: fail-fast: true matrix: - python: ["3.8", "3.9"] + python: ["3.9"] os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: @@ -149,7 +149,7 @@ jobs: prisma-tests: runs-on: [ self-hosted, public, linux, x64 ] env: - PYTHON_VERSION: "3.8" + PYTHON_VERSION: "3.9" steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v3 - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v4 @@ -220,7 +220,7 @@ jobs: strategy: fail-fast: true matrix: - python: ["3.8", "3.9"] + python: ["3.9"] os: [ubuntu-latest] runs-on: ${{ matrix.os }} continue-on-error: true # for now it is ok to fail @@ -260,7 +260,7 @@ jobs: timeout-minutes: 30 runs-on: ubuntu-latest env: - PYTHON_VERSION: "3.8" + PYTHON_VERSION: "3.9" steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v3 - name: Set up Python ${{ env.PYTHON_VERSION }} @@ -298,7 +298,7 @@ jobs: id-token: write timeout-minutes: 30 env: - PYTHON_VERSION: "3.8" + PYTHON_VERSION: "3.9" steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v3 with: diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index e0bd89c5c2..0d2512b874 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -15,7 +15,7 @@ jobs: contents: write environment: release env: - PYTHON_VERSION: "3.8" + PYTHON_VERSION: "3.9" steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v3 with: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index b5177b63bf..5d8064df46 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -88,7 +88,7 @@ jobs: permissions: contents: write env: - PYTHON_VERSION: "3.8" + PYTHON_VERSION: "3.9" steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v3 with: @@ -135,7 +135,7 @@ jobs: if: needs.github-release.outputs.upload_url != '' runs-on: [self-hosted, public, linux, arm64] container: - image: arm64v8/python:3.8 + image: arm64v8/python:3.9 permissions: contents: write steps: diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 1d80fc999d..160261b26a 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -222,7 +222,7 @@ jobs: PRISMA_API_URL: ${{ secrets.PRISMA_API_URL_2 }} run: | # Just making sure the API key tests don't run on PRs - bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.8' + bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.9' - name: Run integration tests run: | pipenv run pytest integration_tests -k 'not api_key' diff --git a/checkov/cloudformation/checks/resource/aws/DeprecatedLambdaRuntime.py b/checkov/cloudformation/checks/resource/aws/DeprecatedLambdaRuntime.py index abbb7c2c0c..7f25650c40 100644 --- a/checkov/cloudformation/checks/resource/aws/DeprecatedLambdaRuntime.py +++ b/checkov/cloudformation/checks/resource/aws/DeprecatedLambdaRuntime.py @@ -20,7 +20,7 @@ def get_forbidden_values(self) -> List[Any]: return ["dotnetcore3.1", "nodejs12.x", "python3.6", "python2.7", "dotnet5.0", "dotnetcore2.1", "ruby2.5", "nodejs10.x", "nodejs8.10", "nodejs4.3", "nodejs6.10", "dotnetcore1.0", "dotnetcore2.0", "nodejs4.3-edge", "nodejs", "java8", "python3.7", "go1.x", "provided", "ruby2.7", "nodejs14.x", - "nodejs16.x", "python3.8", "dotnet7", "dotnet6" + "nodejs16.x", "python3.9", "dotnet7", "dotnet6" # , "nodejs18.x" # Uncomment on Sept 1, 2025 # , "provided.al2" # Uncomment on Jun 30, 2026 # , "python3.9" # Uncomment on Nov 3, 2025 diff --git a/checkov/terraform/checks/resource/aws/DeprecatedLambdaRuntime.py b/checkov/terraform/checks/resource/aws/DeprecatedLambdaRuntime.py index b9aa3df880..b2114a6ff3 100644 --- a/checkov/terraform/checks/resource/aws/DeprecatedLambdaRuntime.py +++ b/checkov/terraform/checks/resource/aws/DeprecatedLambdaRuntime.py @@ -20,7 +20,7 @@ def get_forbidden_values(self) -> List[Any]: return ["dotnetcore3.1", "nodejs12.x", "python3.6", "python2.7", "dotnet5.0", "dotnetcore2.1", "ruby2.5", "nodejs10.x", "nodejs8.10", "nodejs4.3", "nodejs6.10", "dotnetcore1.0", "dotnetcore2.0", "nodejs4.3-edge", "nodejs", "java8", "python3.7", "go1.x", "provided", "ruby2.7", "nodejs14.x", - "nodejs16.x", "python3.8", "dotnet7", "dotnet6" + "nodejs16.x", "python3.9", "dotnet7", "dotnet6" # , "nodejs18.x" # Uncomment on Sept 1, 2025 # , "provided.al2" # Uncomment on Jun 30, 2026 # , "python3.9" # Uncomment on Nov 3, 2025 diff --git a/integration_tests/prepare_data.sh b/integration_tests/prepare_data.sh index 4b8ef8dde6..30b57e7e63 100755 --- a/integration_tests/prepare_data.sh +++ b/integration_tests/prepare_data.sh @@ -29,7 +29,7 @@ else fi -if [[ "$2" == "3.8" && "$1" == "ubuntu-latest" ]] +if [[ "$2" == "3.9" && "$1" == "ubuntu-latest" ]] then pipenv run checkov -s -f terragoat/terraform/aws/s3.tf --repo-id checkov/integration_test --bc-api-key $BC_KEY > checkov_report_s3_singlefile_api_key_terragoat.txt pipenv run checkov -s -d terragoat/terraform/azure/ --repo-id checkov/integration_test --bc-api-key $BC_KEY > checkov_report_azuredir_api_key_terragoat.txt diff --git a/tests/cloudformation/checks/resource/aws/example_IAMRoleAllowAssumeFromAccount/example_IAMRoleAllowAssumeFromAccount-PASSED-2.yml b/tests/cloudformation/checks/resource/aws/example_IAMRoleAllowAssumeFromAccount/example_IAMRoleAllowAssumeFromAccount-PASSED-2.yml index 07347fd348..494bc6593e 100644 --- a/tests/cloudformation/checks/resource/aws/example_IAMRoleAllowAssumeFromAccount/example_IAMRoleAllowAssumeFromAccount-PASSED-2.yml +++ b/tests/cloudformation/checks/resource/aws/example_IAMRoleAllowAssumeFromAccount/example_IAMRoleAllowAssumeFromAccount-PASSED-2.yml @@ -756,5 +756,5 @@ Resources: Handler: index.lambda_handler Role: !GetAtt ScalingLambdaRole.Arn - Runtime: python3.8 + Runtime: python3.9 Timeout: 10 \ No newline at end of file diff --git a/tests/github_actions/test_graph_manager.py b/tests/github_actions/test_graph_manager.py index 68399007ac..31e3d8ffaf 100644 --- a/tests/github_actions/test_graph_manager.py +++ b/tests/github_actions/test_graph_manager.py @@ -247,7 +247,7 @@ def test_build_def_context_1(): { "name": "Setup Python", "uses": "actions/setup-python@v3", - "with": {"python-version": "3.8", "__startline__": 14, "__endline__": 15}, + "with": {"python-version": "3.9", "__startline__": 14, "__endline__": 15}, "__startline__": 11, "__endline__": 15, }, @@ -315,7 +315,7 @@ def test_build_def_context_1(): (11, " - name: Setup Python\n"), (12, " uses: actions/setup-python@v3\n"), (13, " with:\n"), - (14, " python-version: '3.8'\n"), + (14, " python-version: '3.9'\n"), (15, " - name: Setup Poetry\n"), (16, " uses: Green/setup-poetry@v7\n"), (17, " - name: Install Python Dependencies\n"), @@ -360,7 +360,7 @@ def test_build_def_context_1(): (11, " - name: Setup Python\n"), (12, " uses: actions/setup-python@v3\n"), (13, " with:\n"), - (14, " python-version: '3.8'\n"), + (14, " python-version: '3.9'\n"), (15, " - name: Setup Poetry\n"), (16, " uses: Green/setup-poetry@v7\n"), (17, " - name: Install Python Dependencies\n"), diff --git a/tests/sca_image/examples/.github/workflows/vulnerable_container.yaml b/tests/sca_image/examples/.github/workflows/vulnerable_container.yaml index 76538c043c..45444980be 100644 --- a/tests/sca_image/examples/.github/workflows/vulnerable_container.yaml +++ b/tests/sca_image/examples/.github/workflows/vulnerable_container.yaml @@ -5,7 +5,7 @@ name: unsecure-worfklow jobs: my_job: container: - image: python:3.8-alpine + image: python:3.9-alpine env: NODE_ENV: development ports: diff --git a/tests/terraform/graph/checks/resources/SGAttachedToResource/main.tf b/tests/terraform/graph/checks/resources/SGAttachedToResource/main.tf index f929258685..f2933637a3 100644 --- a/tests/terraform/graph/checks/resources/SGAttachedToResource/main.tf +++ b/tests/terraform/graph/checks/resources/SGAttachedToResource/main.tf @@ -645,7 +645,7 @@ resource "aws_lambda_function" "pass_lambda" { function_name = "lambda" handler = "lambda.handler" role = "aws_iam_role.lambda.arn" - runtime = "python3.8" + runtime = "python3.9" vpc_config { security_group_ids = [aws_security_group.pass_lambda.id] From 9da879aeca6338a619c6f33d3935fce5a863f5d8 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 15:48:45 +0300 Subject: [PATCH 02/26] update_python --- tests/cloudformation/graph/graph_builder/test_local_graph.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/cloudformation/graph/graph_builder/test_local_graph.py b/tests/cloudformation/graph/graph_builder/test_local_graph.py index 51bdd0ea2d..bc7e3b8a1e 100644 --- a/tests/cloudformation/graph/graph_builder/test_local_graph.py +++ b/tests/cloudformation/graph/graph_builder/test_local_graph.py @@ -199,7 +199,7 @@ def test_build_graph_with_sam_resource(self): self.assertEqual(['subnet-123', 'subnet-456'], function_1_vertex.attributes["VpcConfig"]["SubnetIds"]) self.assertEqual("src/", function_2_vertex.attributes["CodeUri"]) - self.assertEqual("python3.8", function_2_vertex.attributes["Runtime"]) + self.assertEqual("python3.9", function_2_vertex.attributes["Runtime"]) self.assertEqual(5, function_2_vertex.attributes["Timeout"]) self.assertEqual("Active", function_2_vertex.attributes["Tracing"]) self.assertEqual("Production", function_2_vertex.attributes["Environment"]["Variables"]["STAGE"]) From f3acefccd941fa680a48cb00b8ccf1bde88b3d4d Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 16:15:15 +0300 Subject: [PATCH 03/26] update_python --- .../src/python/LambdaEnvironmentCredentials/fail__2__.py | 2 +- .../src/python/LambdaEnvironmentCredentials/pass.py | 2 +- .../LambdaEnvironmentEncryptionSettings/fail__2__.py | 2 +- .../python/LambdaEnvironmentEncryptionSettings/pass.py | 2 +- .../resource/aws/example_LambdaDLQConfigured/FAIL.yaml | 2 +- .../resource/aws/example_LambdaDLQConfigured/PASS.yaml | 2 +- .../resource/aws/example_LambdaDLQConfigured/sam.yaml | 4 ++-- .../aws/example_LambdaEnvironmentCredentials/sam.yaml | 8 ++++---- .../example_LambdaEnvironmentEncryptionSettings/sam.yaml | 6 +++--- .../FAIL.yaml | 2 +- .../PASS.yaml | 2 +- .../sam.yaml | 4 ++-- .../checks/resource/aws/example_LambdaInVPC/FAIL.yaml | 2 +- .../checks/resource/aws/example_LambdaInVPC/PASS.yaml | 2 +- .../checks/resource/aws/example_LambdaInVPC/sam.yaml | 4 ++-- .../graph/graph_builder/resources/sam/template.yaml | 2 +- .../aws/example_LambdaCodeSigningConfigured/main.tf | 4 ++-- .../aws/example_LambdaEnvironmentCredentials/main.tf | 6 +++--- .../checks/resource/aws/example_LambdaXrayEnabled/main.tf | 6 +++--- .../s3-bucket/examples/notification/main.tf | 4 ++-- 20 files changed, 34 insertions(+), 34 deletions(-) diff --git a/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/fail__2__.py b/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/fail__2__.py index 287342a3a5..b04327a42d 100644 --- a/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/fail__2__.py +++ b/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/fail__2__.py @@ -31,7 +31,7 @@ def __init__(self, scope: core.Construct, id: str, **kwargs) -> None: self, 'MyServerlessFunction', code_uri='lambda/', # Replace 'lambda/' with your function code directory handler='index.handler', - runtime='python3.8', + runtime='python3.9', environment={ 'MY_VARIABLE': 'pass' } diff --git a/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/pass.py b/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/pass.py index e98771811d..0959972e82 100644 --- a/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/pass.py +++ b/cdk_integration_tests/src/python/LambdaEnvironmentCredentials/pass.py @@ -31,7 +31,7 @@ def __init__(self, scope: core.Construct, id: str, **kwargs) -> None: self, 'MyServerlessFunction', code_uri='lambda/', # Replace 'lambda/' with your function code directory handler='index.handler', - runtime='python3.8', + runtime='python3.9', environment={ 'MY_VARIABLE': {'a':'b'} } diff --git a/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/fail__2__.py b/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/fail__2__.py index 92a0395f7f..bd1d21cb3f 100644 --- a/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/fail__2__.py +++ b/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/fail__2__.py @@ -30,7 +30,7 @@ def __init__(self, scope: core.Construct, id: str, **kwargs) -> None: my_sam_function = sam.CfnFunction( self, 'MySAMFunction', handler='index.handler', - runtime='python3.8', + runtime='python3.9', code_uri='./path/to/your/function/code', environment={ 'MY_VARIABLE_1': 'Value1', diff --git a/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/pass.py b/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/pass.py index 4c62f94496..c6efa60e72 100644 --- a/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/pass.py +++ b/cdk_integration_tests/src/python/LambdaEnvironmentEncryptionSettings/pass.py @@ -31,7 +31,7 @@ def __init__(self, scope: core.Construct, id: str, **kwargs) -> None: my_sam_function = sam.CfnFunction( self, 'MySAMFunction', handler='index.handler', - runtime='python3.8', + runtime='python3.9', code_uri='./path/to/your/function/code', environment={ 'MY_VARIABLE_1': 'Value1', diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/FAIL.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/FAIL.yaml index e75458a988..5c935618c9 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/FAIL.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/FAIL.yaml @@ -8,4 +8,4 @@ Resources: Code: S3Bucket: my-bucket S3Key: function.zip - Runtime: python3.8 + Runtime: python3.9 diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/PASS.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/PASS.yaml index 567ab2e6b6..139994a478 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/PASS.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/PASS.yaml @@ -8,6 +8,6 @@ Resources: Code: S3Bucket: my-bucket S3Key: function.zip - Runtime: python3.8 + Runtime: python3.9 DeadLetterConfig: TargetArn: arn:aws:sqs:eu-central-1:123456789012:dlq diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/sam.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/sam.yaml index 14fd591bff..7dec370c4a 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/sam.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaDLQConfigured/sam.yaml @@ -6,7 +6,7 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 DeadLetterQueue: TargetArn: arn:aws:sqs:eu-central-1:123456789012:dlq Type: SQS @@ -15,4 +15,4 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentCredentials/sam.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentCredentials/sam.yaml index f0eea84607..cb3a7edd6c 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentCredentials/sam.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentCredentials/sam.yaml @@ -4,14 +4,14 @@ Transform: AWS::Serverless-2016-10-31 Globals: Function: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 Resources: NoSecret: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 Environment: Variables: key: value @@ -20,7 +20,7 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 NoProperties: Type: AWS::Serverless::Function @@ -29,7 +29,7 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 Environment: Variables: key: value diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentEncryptionSettings/sam.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentEncryptionSettings/sam.yaml index 0b14523b40..6134a5d4c5 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentEncryptionSettings/sam.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaEnvironmentEncryptionSettings/sam.yaml @@ -6,7 +6,7 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 Environment: Variables: key: value @@ -16,13 +16,13 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 EnvAndNoKey: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 Environment: Variables: key: value diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/FAIL.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/FAIL.yaml index e75458a988..5c935618c9 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/FAIL.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/FAIL.yaml @@ -8,4 +8,4 @@ Resources: Code: S3Bucket: my-bucket S3Key: function.zip - Runtime: python3.8 + Runtime: python3.9 diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/PASS.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/PASS.yaml index 974998c67a..4be9435f03 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/PASS.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/PASS.yaml @@ -8,5 +8,5 @@ Resources: Code: S3Bucket: my-bucket S3Key: function.zip - Runtime: python3.8 + Runtime: python3.9 ReservedConcurrentExecutions: 100 diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/sam.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/sam.yaml index 1f35d2104f..80297af49f 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/sam.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaFunctionLevelConcurrentExecutionLimit/sam.yaml @@ -6,11 +6,11 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 ReservedConcurrentExecutions: 100 Default: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/FAIL.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/FAIL.yaml index e75458a988..5c935618c9 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/FAIL.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/FAIL.yaml @@ -8,4 +8,4 @@ Resources: Code: S3Bucket: my-bucket S3Key: function.zip - Runtime: python3.8 + Runtime: python3.9 diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml index d4c5347e39..6e42af4795 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml @@ -8,7 +8,7 @@ Resources: Code: S3Bucket: my-bucket S3Key: function.zip - Runtime: python3.8 + Runtime: python3.9 VpcConfig: SecurityGroupIds: - sg-12345 diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml index 8f5b3b7654..ba81d5879f 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml @@ -6,7 +6,7 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 VpcConfig: SecurityGroupIds: - sg-12345 @@ -18,4 +18,4 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.8 + Runtime: python3.9 diff --git a/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml b/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml index 50e482ddf4..019f65b427 100644 --- a/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml +++ b/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml @@ -17,7 +17,7 @@ Globals: Function: Timeout: 5 CodeUri: src/ - Runtime: python3.8 + Runtime: python3.9 Tracing: Active Environment: Variables: diff --git a/tests/terraform/checks/resource/aws/example_LambdaCodeSigningConfigured/main.tf b/tests/terraform/checks/resource/aws/example_LambdaCodeSigningConfigured/main.tf index 88abaf1648..a06f696e06 100644 --- a/tests/terraform/checks/resource/aws/example_LambdaCodeSigningConfigured/main.tf +++ b/tests/terraform/checks/resource/aws/example_LambdaCodeSigningConfigured/main.tf @@ -3,7 +3,7 @@ resource "aws_lambda_function" "pass" { function_name = "test-env" role = "" - runtime = "python3.8" + runtime = "python3.9" code_signing_config_arn = "123123123" } @@ -12,5 +12,5 @@ resource "aws_lambda_function" "pass" { resource "aws_lambda_function" "fail" { function_name = "stest-env" role = "" - runtime = "python3.8" + runtime = "python3.9" } diff --git a/tests/terraform/checks/resource/aws/example_LambdaEnvironmentCredentials/main.tf b/tests/terraform/checks/resource/aws/example_LambdaEnvironmentCredentials/main.tf index d5bf76554f..58eab5b8b1 100644 --- a/tests/terraform/checks/resource/aws/example_LambdaEnvironmentCredentials/main.tf +++ b/tests/terraform/checks/resource/aws/example_LambdaEnvironmentCredentials/main.tf @@ -3,7 +3,7 @@ resource "aws_lambda_function" "pass" { function_name = "test-env" role = "" - runtime = "python3.8" + runtime = "python3.9" environment { variables = { @@ -15,7 +15,7 @@ resource "aws_lambda_function" "pass" { resource "aws_lambda_function" "no_env" { function_name = "test-env" role = "" - runtime = "python3.8" + runtime = "python3.9" } # fail @@ -23,7 +23,7 @@ resource "aws_lambda_function" "no_env" { resource "aws_lambda_function" "fail" { function_name = "stest-env" role = "" - runtime = "python3.8" + runtime = "python3.9" environment { variables = { diff --git a/tests/terraform/checks/resource/aws/example_LambdaXrayEnabled/main.tf b/tests/terraform/checks/resource/aws/example_LambdaXrayEnabled/main.tf index c487b00824..1303747576 100644 --- a/tests/terraform/checks/resource/aws/example_LambdaXrayEnabled/main.tf +++ b/tests/terraform/checks/resource/aws/example_LambdaXrayEnabled/main.tf @@ -3,7 +3,7 @@ resource "aws_lambda_function" "active" { function_name = "test-env" role = "" - runtime = "python3.8" + runtime = "python3.9" tracing_config { mode = "Active" @@ -13,7 +13,7 @@ resource "aws_lambda_function" "active" { resource "aws_lambda_function" "pass_through" { function_name = "test-env" role = "" - runtime = "python3.8" + runtime = "python3.9" tracing_config { mode = "PassThrough" @@ -25,5 +25,5 @@ resource "aws_lambda_function" "pass_through" { resource "aws_lambda_function" "default" { function_name = "test-env" role = "" - runtime = "python3.8" + runtime = "python3.9" } diff --git a/tests/terraform/graph/resources/modules/linked_modules/external_modules/terraform-aws-modules/s3-bucket/examples/notification/main.tf b/tests/terraform/graph/resources/modules/linked_modules/external_modules/terraform-aws-modules/s3-bucket/examples/notification/main.tf index b728f0c119..4b62246ef3 100644 --- a/tests/terraform/graph/resources/modules/linked_modules/external_modules/terraform-aws-modules/s3-bucket/examples/notification/main.tf +++ b/tests/terraform/graph/resources/modules/linked_modules/external_modules/terraform-aws-modules/s3-bucket/examples/notification/main.tf @@ -18,7 +18,7 @@ module "s3_bucket" { ############################################# locals { - package_url = "https://raw.githubusercontent.com/terraform-aws-modules/terraform-aws-lambda/master/examples/fixtures/python3.8-zip/existing_package.zip" + package_url = "https://raw.githubusercontent.com/terraform-aws-modules/terraform-aws-lambda/master/examples/fixtures/python3.9-zip/existing_package.zip" downloaded = "downloaded_package_${md5(local.package_url)}.zip" } @@ -45,7 +45,7 @@ module "lambda_function1" { function_name = "${random_pet.this.id}-lambda1" handler = "index.lambda_handler" - runtime = "python3.8" + runtime = "python3.9" create_package = false local_existing_package = data.null_data_source.downloaded_package.outputs["filename"] From 8bcb59f8a29ad63c6aae6560c1182ae083e5693b Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 17:44:03 +0300 Subject: [PATCH 04/26] update_python --- checkov/common/variables/context.py | 1 - .../graph/graph_builder/resources/sam/template.yaml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/checkov/common/variables/context.py b/checkov/common/variables/context.py index cee0666bde..b74167dedc 100644 --- a/checkov/common/variables/context.py +++ b/checkov/common/variables/context.py @@ -4,7 +4,6 @@ from typing import Any -# NOTE: These would be better as TypedDict, but that requires python 3.8 :-( @dataclass diff --git a/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml b/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml index 019f65b427..4f483bda9c 100644 --- a/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml +++ b/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml @@ -17,7 +17,7 @@ Globals: Function: Timeout: 5 CodeUri: src/ - Runtime: python3.9 + Runtime: python3.9.github/workflows/pr-test.yml Tracing: Active Environment: Variables: From a55d08a74dcd633a3dbfd6066161b9a5c4412440 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 18:41:07 +0300 Subject: [PATCH 05/26] update_python --- Pipfile | 7 +- Pipfile.lock | 416 +++++++++++------- .../resource/aws/example_LambdaInVPC/sam.yaml | 2 +- 3 files changed, 251 insertions(+), 174 deletions(-) diff --git a/Pipfile b/Pipfile index 556c2d471f..187f08268d 100644 --- a/Pipfile +++ b/Pipfile @@ -4,9 +4,6 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] -# -# REMINDER: Update "dev" deps on setup.py when changing -# pytest = "<8.0.0" pytest-xdist = "*" pytest-asyncio = "*" @@ -42,9 +39,6 @@ types-colorama = "<0.5.0,>=0.4.3" tomli = "*" [packages] -# -# REMINDER: Update "install_requires" deps on setup.py when changing -# bc-jsonpath-ng = "==1.6.1" pycep-parser = "==0.5.1" tabulate = ">=0.9.0,<0.10.0" @@ -89,6 +83,7 @@ asteval = "==1.0.6" bc-detect-secrets = "==1.5.45" urllib3 = "==1.26.20" bc-python-hcl2 = "==0.4.3" +cfn-lint = "*" [requires] python_version = "3.9" diff --git a/Pipfile.lock b/Pipfile.lock index c7dc747b38..df85c0a8bd 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "f97d2b38ba0a89c4bc0d53658ed08b53028cfced0f7767eb5a7a88d98885c68e" + "sha256": "250b7c1f826880b7ac0e0e00a55ab4092ada5e4c47dc3f438c6608e9d4dd242c" }, "pipfile-spec": 6, "requires": { @@ -179,11 +179,19 @@ }, "attrs": { "hashes": [ - "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", - "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" + "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", + "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373" ], - "markers": "python_version >= '3.8'", - "version": "==25.3.0" + "markers": "python_version >= '3.9'", + "version": "==25.4.0" + }, + "aws-sam-translator": { + "hashes": [ + "sha256:643d24ab4c9c422fab19208528fdb97bbe3399735fdcc189a9af91f873b4f9e4", + "sha256:be4fb7eef864c971eb305af09de8e4e0bfe98a4eca122a00c069f6346aa00410" + ], + "markers": "python_version >= '3.8' and python_version != '4.0' and python_version <= '4.0'", + "version": "==1.100.0" }, "bc-detect-secrets": { "hashes": [ @@ -367,6 +375,15 @@ "markers": "python_version >= '3.9'", "version": "==2.0.0" }, + "cfn-lint": { + "hashes": [ + "sha256:24e8e1f0a41f0928548b5960c2b0ffa458e08802ddda7dc11b75b613b8903df6", + "sha256:ec3aedb928f04501c99742d8585251aeac073799823c60f2660f96acb9830987" + ], + "index": "pypi", + "markers": "python_version >= '3.9'", + "version": "==1.40.0" + }, "charset-normalizer": { "hashes": [ "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", @@ -726,6 +743,22 @@ "markers": "python_version >= '3.7'", "version": "==1.0.1" }, + "jsonpatch": { + "hashes": [ + "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade", + "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'", + "version": "==1.33" + }, + "jsonpointer": { + "hashes": [ + "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", + "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef" + ], + "markers": "python_version >= '3.7'", + "version": "==3.0.0" + }, "jsonschema": { "hashes": [ "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", @@ -843,6 +876,13 @@ "markers": "python_version >= '3.9'", "version": "==3.0.2" }, + "mpmath": { + "hashes": [ + "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", + "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c" + ], + "version": "==1.3.0" + }, "multidict": { "hashes": [ "sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9", @@ -1379,117 +1419,131 @@ }, "pydantic": { "hashes": [ - "sha256:6b8ffda597a14812a7975c90b82a8a2e777d9257aba3453f973acd3c032a18e2", - "sha256:c42dd626f5cfc1c6950ce6205ea58c93efa406da65f479dcb4029d5934857da2" + "sha256:c1a077e6270dbfb37bfd8b498b3981e2bb18f68103720e51fa6c306a5a9af563", + "sha256:f6a1da352d42790537e95e83a8bdfb91c7efbae63ffd0b86fa823899e807116f" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==2.11.9" + "version": "==2.12.0" }, "pydantic-core": { "hashes": [ - "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", - "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", - "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", - "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", - "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", - "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", - "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", - "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", - "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", - "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", - "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", - "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", - "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", - "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", - "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", - "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", - "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", - "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", - "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", - "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", - "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", - "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", - "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", - "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", - "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", - "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", - "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", - "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", - "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", - "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", - "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", - "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", - "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", - "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", - "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", - "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", - "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", - "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", - "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", - "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", - "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", - "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", - "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", - "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", - "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", - "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", - "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", - "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", - "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", - "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", - "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", - "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", - "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", - "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", - "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", - "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", - "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", - "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", - "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", - "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", - "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", - "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", - "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", - "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", - "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", - "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", - "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", - "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", - "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", - "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", - "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", - "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", - "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", - "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", - "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", - "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", - "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", - "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", - "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", - "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", - "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", - "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", - "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", - "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", - "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", - "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", - "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", - "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", - "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", - "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", - "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", - "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", - "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", - "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", - "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", - "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", - "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", - "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", - "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d" - ], - "markers": "python_version >= '3.9'", - "version": "==2.33.2" + "sha256:0234236514f44a5bf552105cfe2543a12f48203397d9d0f866affa569345a5b5", + "sha256:05226894a26f6f27e1deb735d7308f74ef5fa3a6de3e0135bb66cdcaee88f64b", + "sha256:055c7931b0329cb8acde20cdde6d9c2cbc2a02a0a8e54a792cddd91e2ea92c65", + "sha256:07588570a805296ece009c59d9a679dc08fab72fb337365afb4f3a14cfbfc176", + "sha256:08a589f850803a74e0fcb16a72081cafb0d72a3cdda500106942b07e76b7bf62", + "sha256:10ce489cf09a4956a1549af839b983edc59b0f60e1b068c21b10154e58f54f80", + "sha256:12d4257fc9187a0ccd41b8b327d6a4e57281ab75e11dda66a9148ef2e1fb712f", + "sha256:13ab9cc2de6f9d4ab645a050ae5aee61a2424ac4d3a16ba23d4c2027705e0301", + "sha256:170406a37a5bc82c22c3274616bf6f17cc7df9c4a0a0a50449e559cb755db669", + "sha256:1ab7e594a2a5c24ab8013a7dc8cfe5f2260e80e490685814122081705c2cf2b0", + "sha256:1ad375859a6d8c356b7704ec0f547a58e82ee80bb41baa811ad710e124bc8f2f", + "sha256:1b5c4374a152e10a22175d7790e644fbd8ff58418890e07e2073ff9d4414efae", + "sha256:1b974e41adfbb4ebb0f65fc4ca951347b17463d60893ba7d5f7b9bb087c83897", + "sha256:1e2df5f8344c99b6ea5219f00fdc8950b8e6f2c422fbc1cc122ec8641fac85a1", + "sha256:1e798b4b304a995110d41ec93653e57975620ccb2842ba9420037985e7d7284e", + "sha256:209910e88afb01fd0fd403947b809ba8dba0e08a095e1f703294fda0a8fdca51", + "sha256:241299ca91fc77ef64f11ed909d2d9220a01834e8e6f8de61275c4dd16b7c936", + "sha256:248dafb3204136113c383e91a4d815269f51562b6659b756cf3df14eefc7d0bb", + "sha256:2757606b7948bb853a27e4040820306eaa0ccb9e8f9f8a0fa40cb674e170f350", + "sha256:28527e4b53400cd60ffbd9812ccb2b5135d042129716d71afd7e45bf42b855c0", + "sha256:2876a095292668d753f1a868c4a57c4ac9f6acbd8edda8debe4218d5848cf42f", + "sha256:2896510fce8f4725ec518f8b9d7f015a00db249d2fd40788f442af303480063d", + "sha256:2bf1917385ebe0f968dc5c6ab1375886d56992b93ddfe6bf52bff575d03662be", + "sha256:2e71b1c6ceb9c78424ae9f63a07292fb769fb890a4e7efca5554c47f33a60ea5", + "sha256:300a9c162fea9906cc5c103893ca2602afd84f0ec90d3be36f4cc360125d22e1", + "sha256:30edab28829703f876897c9471a857e43d847b8799c3c9e2fbce644724b50aa4", + "sha256:34df1fe8fea5d332484a763702e8b6a54048a9d4fe6ccf41e34a128238e01f52", + "sha256:35291331e9d8ed94c257bab6be1cb3a380b5eee570a2784bffc055e18040a2ea", + "sha256:365109d1165d78d98e33c5bfd815a9b5d7d070f578caefaabcc5771825b4ecb5", + "sha256:377defd66ee2003748ee93c52bcef2d14fde48fe28a0b156f88c3dbf9bc49a50", + "sha256:3925446673641d37c30bd84a9d597e49f72eacee8b43322c8999fa17d5ae5bc4", + "sha256:3d43bf082025082bda13be89a5f876cc2386b7727c7b322be2d2b706a45cea8e", + "sha256:421b5595f845842fc093f7250e24ee395f54ca62d494fdde96f43ecf9228ae01", + "sha256:42ae9352cf211f08b04ea110563d6b1e415878eea5b4c70f6bdb17dca3b932d2", + "sha256:440d0df7415b50084a4ba9d870480c16c5f67c0d1d4d5119e3f70925533a0edc", + "sha256:447ddf56e2b7d28d200d3e9eafa936fe40485744b5a824b67039937580b3cb20", + "sha256:46a1c935c9228bad738c8a41de06478770927baedf581d172494ab36a6b96575", + "sha256:47694a31c710ced9205d5f1e7e8af3ca57cbb8a503d98cb9e33e27c97a501601", + "sha256:47f1f642a205687d59b52dc1a9a607f45e588f5a2e9eeae05edd80c7a8c47674", + "sha256:49bd51cc27adb980c7b97357ae036ce9b3c4d0bb406e84fbe16fb2d368b602a8", + "sha256:4dc703015fbf8764d6a8001c327a87f1823b7328d40b47ce6000c65918ad2b4f", + "sha256:4f276a6134fe1fc1daa692642a3eaa2b7b858599c49a7610816388f5e37566a1", + "sha256:4f94f3ab188f44b9a73f7295663f3ecb8f2e2dd03a69c8f2ead50d37785ecb04", + "sha256:4fee76d757639b493eb600fba668f1e17475af34c17dd61db7a47e824d464ca9", + "sha256:5042da12e5d97d215f91567110fdfa2e2595a25f17c19b9ff024f31c34f9b53e", + "sha256:530bbb1347e3e5ca13a91ac087c4971d7da09630ef8febd27a20a10800c2d06d", + "sha256:555ecf7e50f1161d3f693bc49f23c82cf6cdeafc71fa37a06120772a09a38795", + "sha256:5da98cc81873f39fd56882e1569c4677940fbc12bce6213fad1ead784192d7c8", + "sha256:63892ead40c1160ac860b5debcc95c95c5a0035e543a8b5a4eac70dd22e995f4", + "sha256:6550617a0c2115be56f90c31a5370261d8ce9dbf051c3ed53b51172dd34da696", + "sha256:65a0ea16cfea7bfa9e43604c8bd726e63a3788b61c384c37664b55209fcb1d74", + "sha256:666aee751faf1c6864b2db795775dd67b61fdcf646abefa309ed1da039a97209", + "sha256:6771a2d9f83c4038dfad5970a3eef215940682b2175e32bcc817bdc639019b28", + "sha256:678f9d76a91d6bcedd7568bbf6beb77ae8447f85d1aeebaab7e2f0829cfc3a13", + "sha256:68f2251559b8efa99041bb63571ec7cdd2d715ba74cc82b3bc9eff824ebc8bf0", + "sha256:706abf21e60a2857acdb09502bc853ee5bce732955e7b723b10311114f033115", + "sha256:70e790fce5f05204ef4403159857bfcd587779da78627b0babb3654f75361ebf", + "sha256:71eaa38d342099405dae6484216dcf1e8e4b0bebd9b44a4e08c9b43db6a2ab67", + "sha256:7a97939d6ea44763c456bd8a617ceada2c9b96bb5b8ab3dfa0d0827df7619014", + "sha256:7d82ae99409eb69d507a89835488fb657faa03ff9968a9379567b0d2e2e56bc5", + "sha256:7f0bf7f5c8f7bf345c527e8a0d72d6b26eda99c1227b0c34e7e59e181260de31", + "sha256:80745b9770b4a38c25015b517451c817799bfb9d6499b0d13d8227ec941cb513", + "sha256:80e97ccfaf0aaf67d55de5085b0ed0d994f57747d9d03f2de5cc9847ca737b08", + "sha256:82b887a711d341c2c47352375d73b029418f55b20bd7815446d175a70effa706", + "sha256:83b64d70520e7890453f1aa21d66fda44e7b35f1cfea95adf7b4289a51e2b479", + "sha256:84d0ff869f98be2e93efdf1ae31e5a15f0926d22af8677d51676e373abbfe57a", + "sha256:85ff7911c6c3e2fd8d3779c50925f6406d770ea58ea6dde9c230d35b52b16b4a", + "sha256:8ae0dc57b62a762985bc7fbf636be3412394acc0ddb4ade07fe104230f1b9762", + "sha256:8fa93fadff794c6d15c345c560513b160197342275c6d104cc879f932b978afc", + "sha256:93e9decce94daf47baf9e9d392f5f2557e783085f7c5e522011545d9d6858e00", + "sha256:968e4ffdfd35698a5fe659e5e44c508b53664870a8e61c8f9d24d3d145d30257", + "sha256:9cebf1ca35f10930612d60bd0f78adfacee824c30a880e3534ba02c207cceceb", + "sha256:a31ca0cd0e4d12ea0df0077df2d487fc3eb9d7f96bbb13c3c5b88dcc21d05159", + "sha256:a38a5263185407ceb599f2f035faf4589d57e73c7146d64f10577f6449e8171d", + "sha256:a75a33b4db105dd1c8d57839e17ee12db8d5ad18209e792fa325dbb4baeb00f4", + "sha256:ab0adafdf2b89c8b84f847780a119437a0931eca469f7b44d356f2b426dd9741", + "sha256:ad4111acc63b7384e205c27a2f15e23ac0ee21a9d77ad6f2e9cb516ec90965fb", + "sha256:af2385d3f98243fb733862f806c5bb9122e5fba05b373e3af40e3c82d711cef1", + "sha256:b04fa9ed049461a7398138c604b00550bc89e3e1151d84b81ad6dc93e39c4c06", + "sha256:b054ef1a78519cb934b58e9c90c09e93b837c935dcd907b891f2b265b129eb6e", + "sha256:b3b7d9cfbfdc43c80a16638c6dc2768e3956e73031fca64e8e1a3ae744d1faeb", + "sha256:b42ae7fd6760782c975897e1fdc810f483b021b32245b0105d40f6e7a3803e4b", + "sha256:b5674314987cdde5a5511b029fa5fb1556b3d147a367e01dd583b19cfa8e35df", + "sha256:b5f1d5d6bbba484bdf220c72d8ecd0be460f4bd4c5e534a541bb2cd57589fb8b", + "sha256:b83aaeff0d7bde852c32e856f3ee410842ebc08bc55c510771d87dcd1c01e1ed", + "sha256:b92d6c628e9a338846a28dfe3fcdc1a3279388624597898b105e078cdfc59298", + "sha256:bf0bd5417acf7f6a7ec3b53f2109f587be176cb35f9cf016da87e6017437a72d", + "sha256:c7bc140c596097cb53b30546ca257dbe3f19282283190b1b5142928e5d5d3a20", + "sha256:c8a1af9ac51969a494c6a82b563abae6859dc082d3b999e8fa7ba5ee1b05e8e8", + "sha256:c95caff279d49c1d6cdfe2996e6c2ad712571d3b9caaa209a404426c326c4bde", + "sha256:cec0e75eb61f606bad0a32f2be87507087514e26e8c73db6cbdb8371ccd27917", + "sha256:ced20e62cfa0f496ba68fa5d6c7ee71114ea67e2a5da3114d6450d7f4683572a", + "sha256:d2ae423c65c556f09569524b80ffd11babff61f33055ef9773d7c9fabc11ed8d", + "sha256:db2f82c0ccbce8f021ad304ce35cbe02aa2f95f215cac388eed542b03b4d5eb4", + "sha256:dc17b6ecf4983d298686014c92ebc955a9f9baf9f57dad4065e7906e7bee6222", + "sha256:dce8b22663c134583aaad24827863306a933f576c79da450be3984924e2031d1", + "sha256:df11c24e138876ace5ec6043e5cae925e34cf38af1a1b3d63589e8f7b5f5cdc4", + "sha256:dff5bee1d21ee58277900692a641925d2dddfde65182c972569b1a276d2ac8fb", + "sha256:e019167628f6e6161ae7ab9fb70f6d076a0bf0d55aa9b20833f86a320c70dd65", + "sha256:e244c37d5471c9acdcd282890c6c4c83747b77238bfa19429b8473586c907656", + "sha256:e63036298322e9aea1c8b7c0a6c1204d615dbf6ec0668ce5b83ff27f07404a61", + "sha256:e82947de92068b0a21681a13dd2102387197092fbe7defcfb8453e0913866506", + "sha256:eec83fc6abef04c7f9bec616e2d76ee9a6a4ae2a359b10c21d0f680e24a247ca", + "sha256:f1ebc7ab67b856384aba09ed74e3e977dded40e693de18a4f197c67d0d4e6d8e", + "sha256:f1fc716c0eb1663c59699b024428ad5ec2bcc6b928527b8fe28de6cb89f47efb", + "sha256:f2611bdb694116c31e551ed82e20e39a90bea9b7ad9e54aaf2d045ad621aa7a1", + "sha256:f2ab7d10d0ab2ed6da54c757233eb0f48ebfb4f86e9b88ccecb3f92bbd61a538", + "sha256:f4a9543ca355e6df8fbe9c83e9faab707701e9103ae857ecb40f1c0cf8b0e94d", + "sha256:f9b9c968cfe5cd576fdd7361f47f27adeb120517e637d1b189eea1c3ece573f4", + "sha256:fabcbdb12de6eada8d6e9a759097adb3c15440fafc675b3e94ae5c9cb8d678a0", + "sha256:fecc130893a9b5f7bfe230be1bb8c61fe66a19db8ab704f808cb25a82aad0bc9", + "sha256:ff548c908caffd9455fd1342366bcf8a1ec8a3fca42f35c7fc60883d6a901074", + "sha256:fff2b76c8e172d34771cd4d4f0ade08072385310f214f823b5a6ad4006890d32" + ], + "markers": "python_version >= '3.9'", + "version": "==2.41.1" }, "pyparsing": { "hashes": [ @@ -1553,63 +1607,83 @@ }, "pyyaml": { "hashes": [ - "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", - "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", - "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", - "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", - "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", - "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", - "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", - "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", - "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", - "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", - "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", - "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", - "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", - "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", - "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", - "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", - "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", - "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", - "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", - "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", - "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", - "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", - "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", - "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", - "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", - "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", - "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", - "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", - "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", - "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", - "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", - "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", - "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", - "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", - "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", - "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", - "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", - "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", - "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", - "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", - "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", - "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", - "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", - "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", - "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", - "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", - "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", - "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", - "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", - "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", - "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", - "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", - "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" + "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", + "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", + "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", + "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", + "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", + "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", + "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", + "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", + "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", + "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", + "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", + "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6", + "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", + "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", + "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", + "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", + "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", + "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", + "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295", + "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", + "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", + "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", + "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", + "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", + "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", + "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", + "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", + "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b", + "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", + "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", + "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", + "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", + "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369", + "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", + "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", + "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", + "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", + "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", + "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", + "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", + "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", + "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", + "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", + "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", + "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", + "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", + "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", + "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", + "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", + "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4", + "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", + "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", + "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", + "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", + "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", + "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", + "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", + "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", + "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", + "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", + "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", + "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f", + "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", + "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", + "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", + "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", + "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", + "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", + "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", + "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3", + "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", + "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", + "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==6.0.2" + "version": "==6.0.3" }, "rdflib": { "hashes": [ @@ -2001,6 +2075,14 @@ "markers": "python_version >= '3.7'", "version": "==0.8.3" }, + "sympy": { + "hashes": [ + "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", + "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5" + ], + "markers": "python_version >= '3.9'", + "version": "==1.14.0" + }, "tabulate": { "hashes": [ "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", @@ -2039,11 +2121,11 @@ }, "typing-inspection": { "hashes": [ - "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", - "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", + "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" ], "markers": "python_version >= '3.9'", - "version": "==0.4.1" + "version": "==0.4.2" }, "unidiff": { "hashes": [ diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml index ba81d5879f..de7dce105c 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/sam.yaml @@ -18,4 +18,4 @@ Resources: Type: AWS::Serverless::Function Properties: Handler: app.lambdaHandler - Runtime: python3.9 + Runtime: python3. From 944d57cc7f21e24649e586078d831b723e1d04d3 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 18:46:08 +0300 Subject: [PATCH 06/26] . --- .github/workflows/pr-test.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 160261b26a..6dde76d519 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -47,7 +47,7 @@ jobs: if: steps.changed-files-specific.outputs.any_changed == 'true' id: filter-files run: | - YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') + YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$') if [ -n "$YAML_JSON_FILES" ]; then echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi @@ -55,8 +55,10 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint - for file in $YAML_JSON_FILES; do - cfn-lint "$file" -i W + echo "$YAML_JSON_FILES" | while IFS= read -r file; do + if [ -n "$file" ]; then + cfn-lint "$file" -i W + fi done mypy: From db8ad16918a45d4c80200f837fcd05303e6e3b00 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 19:04:17 +0300 Subject: [PATCH 07/26] . --- Pipfile | 7 +- Pipfile.lock | 416 +++++++++++++++++++++------------------------------ 2 files changed, 173 insertions(+), 250 deletions(-) diff --git a/Pipfile b/Pipfile index 187f08268d..556c2d471f 100644 --- a/Pipfile +++ b/Pipfile @@ -4,6 +4,9 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] +# +# REMINDER: Update "dev" deps on setup.py when changing +# pytest = "<8.0.0" pytest-xdist = "*" pytest-asyncio = "*" @@ -39,6 +42,9 @@ types-colorama = "<0.5.0,>=0.4.3" tomli = "*" [packages] +# +# REMINDER: Update "install_requires" deps on setup.py when changing +# bc-jsonpath-ng = "==1.6.1" pycep-parser = "==0.5.1" tabulate = ">=0.9.0,<0.10.0" @@ -83,7 +89,6 @@ asteval = "==1.0.6" bc-detect-secrets = "==1.5.45" urllib3 = "==1.26.20" bc-python-hcl2 = "==0.4.3" -cfn-lint = "*" [requires] python_version = "3.9" diff --git a/Pipfile.lock b/Pipfile.lock index df85c0a8bd..c7dc747b38 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "250b7c1f826880b7ac0e0e00a55ab4092ada5e4c47dc3f438c6608e9d4dd242c" + "sha256": "f97d2b38ba0a89c4bc0d53658ed08b53028cfced0f7767eb5a7a88d98885c68e" }, "pipfile-spec": 6, "requires": { @@ -179,19 +179,11 @@ }, "attrs": { "hashes": [ - "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", - "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373" - ], - "markers": "python_version >= '3.9'", - "version": "==25.4.0" - }, - "aws-sam-translator": { - "hashes": [ - "sha256:643d24ab4c9c422fab19208528fdb97bbe3399735fdcc189a9af91f873b4f9e4", - "sha256:be4fb7eef864c971eb305af09de8e4e0bfe98a4eca122a00c069f6346aa00410" + "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", + "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" ], - "markers": "python_version >= '3.8' and python_version != '4.0' and python_version <= '4.0'", - "version": "==1.100.0" + "markers": "python_version >= '3.8'", + "version": "==25.3.0" }, "bc-detect-secrets": { "hashes": [ @@ -375,15 +367,6 @@ "markers": "python_version >= '3.9'", "version": "==2.0.0" }, - "cfn-lint": { - "hashes": [ - "sha256:24e8e1f0a41f0928548b5960c2b0ffa458e08802ddda7dc11b75b613b8903df6", - "sha256:ec3aedb928f04501c99742d8585251aeac073799823c60f2660f96acb9830987" - ], - "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==1.40.0" - }, "charset-normalizer": { "hashes": [ "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", @@ -743,22 +726,6 @@ "markers": "python_version >= '3.7'", "version": "==1.0.1" }, - "jsonpatch": { - "hashes": [ - "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade", - "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'", - "version": "==1.33" - }, - "jsonpointer": { - "hashes": [ - "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", - "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef" - ], - "markers": "python_version >= '3.7'", - "version": "==3.0.0" - }, "jsonschema": { "hashes": [ "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", @@ -876,13 +843,6 @@ "markers": "python_version >= '3.9'", "version": "==3.0.2" }, - "mpmath": { - "hashes": [ - "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", - "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c" - ], - "version": "==1.3.0" - }, "multidict": { "hashes": [ "sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9", @@ -1419,131 +1379,117 @@ }, "pydantic": { "hashes": [ - "sha256:c1a077e6270dbfb37bfd8b498b3981e2bb18f68103720e51fa6c306a5a9af563", - "sha256:f6a1da352d42790537e95e83a8bdfb91c7efbae63ffd0b86fa823899e807116f" + "sha256:6b8ffda597a14812a7975c90b82a8a2e777d9257aba3453f973acd3c032a18e2", + "sha256:c42dd626f5cfc1c6950ce6205ea58c93efa406da65f479dcb4029d5934857da2" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==2.12.0" + "version": "==2.11.9" }, "pydantic-core": { "hashes": [ - "sha256:0234236514f44a5bf552105cfe2543a12f48203397d9d0f866affa569345a5b5", - "sha256:05226894a26f6f27e1deb735d7308f74ef5fa3a6de3e0135bb66cdcaee88f64b", - "sha256:055c7931b0329cb8acde20cdde6d9c2cbc2a02a0a8e54a792cddd91e2ea92c65", - "sha256:07588570a805296ece009c59d9a679dc08fab72fb337365afb4f3a14cfbfc176", - "sha256:08a589f850803a74e0fcb16a72081cafb0d72a3cdda500106942b07e76b7bf62", - "sha256:10ce489cf09a4956a1549af839b983edc59b0f60e1b068c21b10154e58f54f80", - "sha256:12d4257fc9187a0ccd41b8b327d6a4e57281ab75e11dda66a9148ef2e1fb712f", - "sha256:13ab9cc2de6f9d4ab645a050ae5aee61a2424ac4d3a16ba23d4c2027705e0301", - "sha256:170406a37a5bc82c22c3274616bf6f17cc7df9c4a0a0a50449e559cb755db669", - "sha256:1ab7e594a2a5c24ab8013a7dc8cfe5f2260e80e490685814122081705c2cf2b0", - "sha256:1ad375859a6d8c356b7704ec0f547a58e82ee80bb41baa811ad710e124bc8f2f", - "sha256:1b5c4374a152e10a22175d7790e644fbd8ff58418890e07e2073ff9d4414efae", - "sha256:1b974e41adfbb4ebb0f65fc4ca951347b17463d60893ba7d5f7b9bb087c83897", - "sha256:1e2df5f8344c99b6ea5219f00fdc8950b8e6f2c422fbc1cc122ec8641fac85a1", - "sha256:1e798b4b304a995110d41ec93653e57975620ccb2842ba9420037985e7d7284e", - "sha256:209910e88afb01fd0fd403947b809ba8dba0e08a095e1f703294fda0a8fdca51", - "sha256:241299ca91fc77ef64f11ed909d2d9220a01834e8e6f8de61275c4dd16b7c936", - "sha256:248dafb3204136113c383e91a4d815269f51562b6659b756cf3df14eefc7d0bb", - "sha256:2757606b7948bb853a27e4040820306eaa0ccb9e8f9f8a0fa40cb674e170f350", - "sha256:28527e4b53400cd60ffbd9812ccb2b5135d042129716d71afd7e45bf42b855c0", - "sha256:2876a095292668d753f1a868c4a57c4ac9f6acbd8edda8debe4218d5848cf42f", - "sha256:2896510fce8f4725ec518f8b9d7f015a00db249d2fd40788f442af303480063d", - "sha256:2bf1917385ebe0f968dc5c6ab1375886d56992b93ddfe6bf52bff575d03662be", - "sha256:2e71b1c6ceb9c78424ae9f63a07292fb769fb890a4e7efca5554c47f33a60ea5", - "sha256:300a9c162fea9906cc5c103893ca2602afd84f0ec90d3be36f4cc360125d22e1", - "sha256:30edab28829703f876897c9471a857e43d847b8799c3c9e2fbce644724b50aa4", - "sha256:34df1fe8fea5d332484a763702e8b6a54048a9d4fe6ccf41e34a128238e01f52", - "sha256:35291331e9d8ed94c257bab6be1cb3a380b5eee570a2784bffc055e18040a2ea", - "sha256:365109d1165d78d98e33c5bfd815a9b5d7d070f578caefaabcc5771825b4ecb5", - "sha256:377defd66ee2003748ee93c52bcef2d14fde48fe28a0b156f88c3dbf9bc49a50", - "sha256:3925446673641d37c30bd84a9d597e49f72eacee8b43322c8999fa17d5ae5bc4", - "sha256:3d43bf082025082bda13be89a5f876cc2386b7727c7b322be2d2b706a45cea8e", - "sha256:421b5595f845842fc093f7250e24ee395f54ca62d494fdde96f43ecf9228ae01", - "sha256:42ae9352cf211f08b04ea110563d6b1e415878eea5b4c70f6bdb17dca3b932d2", - "sha256:440d0df7415b50084a4ba9d870480c16c5f67c0d1d4d5119e3f70925533a0edc", - "sha256:447ddf56e2b7d28d200d3e9eafa936fe40485744b5a824b67039937580b3cb20", - "sha256:46a1c935c9228bad738c8a41de06478770927baedf581d172494ab36a6b96575", - "sha256:47694a31c710ced9205d5f1e7e8af3ca57cbb8a503d98cb9e33e27c97a501601", - "sha256:47f1f642a205687d59b52dc1a9a607f45e588f5a2e9eeae05edd80c7a8c47674", - "sha256:49bd51cc27adb980c7b97357ae036ce9b3c4d0bb406e84fbe16fb2d368b602a8", - "sha256:4dc703015fbf8764d6a8001c327a87f1823b7328d40b47ce6000c65918ad2b4f", - "sha256:4f276a6134fe1fc1daa692642a3eaa2b7b858599c49a7610816388f5e37566a1", - "sha256:4f94f3ab188f44b9a73f7295663f3ecb8f2e2dd03a69c8f2ead50d37785ecb04", - "sha256:4fee76d757639b493eb600fba668f1e17475af34c17dd61db7a47e824d464ca9", - "sha256:5042da12e5d97d215f91567110fdfa2e2595a25f17c19b9ff024f31c34f9b53e", - "sha256:530bbb1347e3e5ca13a91ac087c4971d7da09630ef8febd27a20a10800c2d06d", - "sha256:555ecf7e50f1161d3f693bc49f23c82cf6cdeafc71fa37a06120772a09a38795", - "sha256:5da98cc81873f39fd56882e1569c4677940fbc12bce6213fad1ead784192d7c8", - "sha256:63892ead40c1160ac860b5debcc95c95c5a0035e543a8b5a4eac70dd22e995f4", - "sha256:6550617a0c2115be56f90c31a5370261d8ce9dbf051c3ed53b51172dd34da696", - "sha256:65a0ea16cfea7bfa9e43604c8bd726e63a3788b61c384c37664b55209fcb1d74", - "sha256:666aee751faf1c6864b2db795775dd67b61fdcf646abefa309ed1da039a97209", - "sha256:6771a2d9f83c4038dfad5970a3eef215940682b2175e32bcc817bdc639019b28", - "sha256:678f9d76a91d6bcedd7568bbf6beb77ae8447f85d1aeebaab7e2f0829cfc3a13", - "sha256:68f2251559b8efa99041bb63571ec7cdd2d715ba74cc82b3bc9eff824ebc8bf0", - "sha256:706abf21e60a2857acdb09502bc853ee5bce732955e7b723b10311114f033115", - "sha256:70e790fce5f05204ef4403159857bfcd587779da78627b0babb3654f75361ebf", - "sha256:71eaa38d342099405dae6484216dcf1e8e4b0bebd9b44a4e08c9b43db6a2ab67", - "sha256:7a97939d6ea44763c456bd8a617ceada2c9b96bb5b8ab3dfa0d0827df7619014", - "sha256:7d82ae99409eb69d507a89835488fb657faa03ff9968a9379567b0d2e2e56bc5", - "sha256:7f0bf7f5c8f7bf345c527e8a0d72d6b26eda99c1227b0c34e7e59e181260de31", - "sha256:80745b9770b4a38c25015b517451c817799bfb9d6499b0d13d8227ec941cb513", - "sha256:80e97ccfaf0aaf67d55de5085b0ed0d994f57747d9d03f2de5cc9847ca737b08", - "sha256:82b887a711d341c2c47352375d73b029418f55b20bd7815446d175a70effa706", - "sha256:83b64d70520e7890453f1aa21d66fda44e7b35f1cfea95adf7b4289a51e2b479", - "sha256:84d0ff869f98be2e93efdf1ae31e5a15f0926d22af8677d51676e373abbfe57a", - "sha256:85ff7911c6c3e2fd8d3779c50925f6406d770ea58ea6dde9c230d35b52b16b4a", - "sha256:8ae0dc57b62a762985bc7fbf636be3412394acc0ddb4ade07fe104230f1b9762", - "sha256:8fa93fadff794c6d15c345c560513b160197342275c6d104cc879f932b978afc", - "sha256:93e9decce94daf47baf9e9d392f5f2557e783085f7c5e522011545d9d6858e00", - "sha256:968e4ffdfd35698a5fe659e5e44c508b53664870a8e61c8f9d24d3d145d30257", - "sha256:9cebf1ca35f10930612d60bd0f78adfacee824c30a880e3534ba02c207cceceb", - "sha256:a31ca0cd0e4d12ea0df0077df2d487fc3eb9d7f96bbb13c3c5b88dcc21d05159", - "sha256:a38a5263185407ceb599f2f035faf4589d57e73c7146d64f10577f6449e8171d", - "sha256:a75a33b4db105dd1c8d57839e17ee12db8d5ad18209e792fa325dbb4baeb00f4", - "sha256:ab0adafdf2b89c8b84f847780a119437a0931eca469f7b44d356f2b426dd9741", - "sha256:ad4111acc63b7384e205c27a2f15e23ac0ee21a9d77ad6f2e9cb516ec90965fb", - "sha256:af2385d3f98243fb733862f806c5bb9122e5fba05b373e3af40e3c82d711cef1", - "sha256:b04fa9ed049461a7398138c604b00550bc89e3e1151d84b81ad6dc93e39c4c06", - "sha256:b054ef1a78519cb934b58e9c90c09e93b837c935dcd907b891f2b265b129eb6e", - "sha256:b3b7d9cfbfdc43c80a16638c6dc2768e3956e73031fca64e8e1a3ae744d1faeb", - "sha256:b42ae7fd6760782c975897e1fdc810f483b021b32245b0105d40f6e7a3803e4b", - "sha256:b5674314987cdde5a5511b029fa5fb1556b3d147a367e01dd583b19cfa8e35df", - "sha256:b5f1d5d6bbba484bdf220c72d8ecd0be460f4bd4c5e534a541bb2cd57589fb8b", - "sha256:b83aaeff0d7bde852c32e856f3ee410842ebc08bc55c510771d87dcd1c01e1ed", - "sha256:b92d6c628e9a338846a28dfe3fcdc1a3279388624597898b105e078cdfc59298", - "sha256:bf0bd5417acf7f6a7ec3b53f2109f587be176cb35f9cf016da87e6017437a72d", - "sha256:c7bc140c596097cb53b30546ca257dbe3f19282283190b1b5142928e5d5d3a20", - "sha256:c8a1af9ac51969a494c6a82b563abae6859dc082d3b999e8fa7ba5ee1b05e8e8", - "sha256:c95caff279d49c1d6cdfe2996e6c2ad712571d3b9caaa209a404426c326c4bde", - "sha256:cec0e75eb61f606bad0a32f2be87507087514e26e8c73db6cbdb8371ccd27917", - "sha256:ced20e62cfa0f496ba68fa5d6c7ee71114ea67e2a5da3114d6450d7f4683572a", - "sha256:d2ae423c65c556f09569524b80ffd11babff61f33055ef9773d7c9fabc11ed8d", - "sha256:db2f82c0ccbce8f021ad304ce35cbe02aa2f95f215cac388eed542b03b4d5eb4", - "sha256:dc17b6ecf4983d298686014c92ebc955a9f9baf9f57dad4065e7906e7bee6222", - "sha256:dce8b22663c134583aaad24827863306a933f576c79da450be3984924e2031d1", - "sha256:df11c24e138876ace5ec6043e5cae925e34cf38af1a1b3d63589e8f7b5f5cdc4", - "sha256:dff5bee1d21ee58277900692a641925d2dddfde65182c972569b1a276d2ac8fb", - "sha256:e019167628f6e6161ae7ab9fb70f6d076a0bf0d55aa9b20833f86a320c70dd65", - "sha256:e244c37d5471c9acdcd282890c6c4c83747b77238bfa19429b8473586c907656", - "sha256:e63036298322e9aea1c8b7c0a6c1204d615dbf6ec0668ce5b83ff27f07404a61", - "sha256:e82947de92068b0a21681a13dd2102387197092fbe7defcfb8453e0913866506", - "sha256:eec83fc6abef04c7f9bec616e2d76ee9a6a4ae2a359b10c21d0f680e24a247ca", - "sha256:f1ebc7ab67b856384aba09ed74e3e977dded40e693de18a4f197c67d0d4e6d8e", - "sha256:f1fc716c0eb1663c59699b024428ad5ec2bcc6b928527b8fe28de6cb89f47efb", - "sha256:f2611bdb694116c31e551ed82e20e39a90bea9b7ad9e54aaf2d045ad621aa7a1", - "sha256:f2ab7d10d0ab2ed6da54c757233eb0f48ebfb4f86e9b88ccecb3f92bbd61a538", - "sha256:f4a9543ca355e6df8fbe9c83e9faab707701e9103ae857ecb40f1c0cf8b0e94d", - "sha256:f9b9c968cfe5cd576fdd7361f47f27adeb120517e637d1b189eea1c3ece573f4", - "sha256:fabcbdb12de6eada8d6e9a759097adb3c15440fafc675b3e94ae5c9cb8d678a0", - "sha256:fecc130893a9b5f7bfe230be1bb8c61fe66a19db8ab704f808cb25a82aad0bc9", - "sha256:ff548c908caffd9455fd1342366bcf8a1ec8a3fca42f35c7fc60883d6a901074", - "sha256:fff2b76c8e172d34771cd4d4f0ade08072385310f214f823b5a6ad4006890d32" - ], - "markers": "python_version >= '3.9'", - "version": "==2.41.1" + "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", + "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", + "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", + "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", + "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", + "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", + "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", + "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", + "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", + "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", + "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", + "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", + "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", + "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", + "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", + "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", + "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", + "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", + "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", + "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", + "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", + "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", + "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", + "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", + "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", + "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", + "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", + "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", + "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", + "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", + "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", + "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", + "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", + "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", + "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", + "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", + "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", + "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", + "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", + "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", + "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", + "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", + "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", + "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", + "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", + "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", + "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", + "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", + "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", + "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", + "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", + "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", + "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", + "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", + "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", + "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", + "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", + "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", + "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", + "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", + "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", + "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", + "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", + "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", + "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", + "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", + "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", + "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", + "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", + "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", + "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", + "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", + "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", + "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", + "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", + "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", + "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", + "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", + "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", + "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", + "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", + "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", + "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", + "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", + "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", + "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", + "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", + "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", + "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", + "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", + "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", + "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", + "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", + "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", + "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", + "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", + "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", + "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", + "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d" + ], + "markers": "python_version >= '3.9'", + "version": "==2.33.2" }, "pyparsing": { "hashes": [ @@ -1607,83 +1553,63 @@ }, "pyyaml": { "hashes": [ - "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", - "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", - "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", - "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", - "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", - "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", - "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", - "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", - "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", - "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", - "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", - "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6", - "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", - "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", - "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", - "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", - "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", - "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", - "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295", - "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", - "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", - "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", - "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", - "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", - "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", - "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", - "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", - "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b", - "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", - "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", - "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", - "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", - "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369", - "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", - "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", - "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", - "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", - "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", - "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", - "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", - "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", - "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", - "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", - "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", - "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", - "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", - "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", - "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", - "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", - "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4", - "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", - "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", - "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", - "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", - "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", - "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", - "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", - "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", - "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", - "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", - "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", - "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f", - "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", - "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", - "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", - "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", - "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", - "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", - "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", - "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3", - "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", - "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", - "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0" + "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", + "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", + "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", + "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", + "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", + "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", + "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", + "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", + "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", + "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", + "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", + "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", + "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", + "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", + "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", + "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", + "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", + "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", + "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", + "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", + "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", + "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", + "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", + "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", + "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", + "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", + "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", + "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", + "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", + "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", + "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", + "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", + "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", + "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", + "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", + "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", + "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", + "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", + "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", + "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", + "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", + "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", + "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", + "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", + "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", + "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", + "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", + "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", + "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", + "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", + "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", + "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", + "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==6.0.3" + "version": "==6.0.2" }, "rdflib": { "hashes": [ @@ -2075,14 +2001,6 @@ "markers": "python_version >= '3.7'", "version": "==0.8.3" }, - "sympy": { - "hashes": [ - "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", - "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5" - ], - "markers": "python_version >= '3.9'", - "version": "==1.14.0" - }, "tabulate": { "hashes": [ "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", @@ -2121,11 +2039,11 @@ }, "typing-inspection": { "hashes": [ - "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", - "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464" + "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", + "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" ], "markers": "python_version >= '3.9'", - "version": "==0.4.2" + "version": "==0.4.1" }, "unidiff": { "hashes": [ From ade141de94687209b55db1999dbbe9d4fb9716e9 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 19:24:33 +0300 Subject: [PATCH 08/26] . --- .github/workflows/pr-test.yml | 11 +++++------ checkov/common/variables/context.py | 2 -- .../graph/graph_builder/resources/sam/template.yaml | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 6dde76d519..42cc42bdd2 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -47,7 +47,7 @@ jobs: if: steps.changed-files-specific.outputs.any_changed == 'true' id: filter-files run: | - YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$') + YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') if [ -n "$YAML_JSON_FILES" ]; then echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi @@ -55,10 +55,9 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint - echo "$YAML_JSON_FILES" | while IFS= read -r file; do - if [ -n "$file" ]; then - cfn-lint "$file" -i W - fi + echo "Files to lint: $YAML_JSON_FILES" + for file in $YAML_JSON_FILES; do + cfn-lint "$file" -i W done mypy: @@ -169,7 +168,7 @@ jobs: PRISMA_API_URL: ${{ secrets.PRISMA_API_URL_2 }} run: | # Just making sure the API key tests don't run on PRs - bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.9' + bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} ${{ matrix.python }}' - name: Run integration tests run: | pipenv run pytest integration_tests -k 'not api_key' diff --git a/checkov/common/variables/context.py b/checkov/common/variables/context.py index b74167dedc..cb3f71aea5 100644 --- a/checkov/common/variables/context.py +++ b/checkov/common/variables/context.py @@ -4,8 +4,6 @@ from typing import Any - - @dataclass class VarReference: definition_name: str # Example: 'region' diff --git a/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml b/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml index 4f483bda9c..019f65b427 100644 --- a/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml +++ b/tests/cloudformation/graph/graph_builder/resources/sam/template.yaml @@ -17,7 +17,7 @@ Globals: Function: Timeout: 5 CodeUri: src/ - Runtime: python3.9.github/workflows/pr-test.yml + Runtime: python3.9 Tracing: Active Environment: Variables: From 35f00a4625d3dbb3ee6281da39ce4424885d45dc Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 19:27:32 +0300 Subject: [PATCH 09/26] . --- .github/workflows/pr-test.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 42cc42bdd2..4d68a3e2ef 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -56,8 +56,10 @@ jobs: run: | pip install -U cfn-lint echo "Files to lint: $YAML_JSON_FILES" - for file in $YAML_JSON_FILES; do - cfn-lint "$file" -i W + echo "$YAML_JSON_FILES" | while IFS= read -r file; do + if [ -n "$file" ]; then + cfn-lint "$file" -i W + fi done mypy: From cf1dde5e7be364e4388676caadd89eaf3e367abf Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 19:32:19 +0300 Subject: [PATCH 10/26] . --- .github/workflows/pr-test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 4d68a3e2ef..4ca53bf994 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -55,7 +55,6 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint - echo "Files to lint: $YAML_JSON_FILES" echo "$YAML_JSON_FILES" | while IFS= read -r file; do if [ -n "$file" ]; then cfn-lint "$file" -i W From 495590dd7861083c680e3c0aca84d240cef56c1a Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 19:37:10 +0300 Subject: [PATCH 11/26] . --- .github/workflows/pr-test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 4ca53bf994..b6cb3a6564 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -47,7 +47,7 @@ jobs: if: steps.changed-files-specific.outputs.any_changed == 'true' id: filter-files run: | - YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') + YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$') if [ -n "$YAML_JSON_FILES" ]; then echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi @@ -55,7 +55,8 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint - echo "$YAML_JSON_FILES" | while IFS= read -r file; do + readarray -t files_to_lint <<< "$YAML_JSON_FILES" + for file in "${files_to_lint[@]}"; do if [ -n "$file" ]; then cfn-lint "$file" -i W fi From cae614ec1e4a4e7efbbf6eb8da5c28ba7812c833 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 19:38:56 +0300 Subject: [PATCH 12/26] . --- .github/workflows/pr-test.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index b6cb3a6564..58363a0f3b 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -47,7 +47,7 @@ jobs: if: steps.changed-files-specific.outputs.any_changed == 'true' id: filter-files run: | - YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$') + YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') if [ -n "$YAML_JSON_FILES" ]; then echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi @@ -55,12 +55,7 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint - readarray -t files_to_lint <<< "$YAML_JSON_FILES" - for file in "${files_to_lint[@]}"; do - if [ -n "$file" ]; then - cfn-lint "$file" -i W - fi - done + echo "$YAML_JSON_FILES" | xargs -r -n 1 cfn-lint -i W mypy: uses: bridgecrewio/gha-reusable-workflows/.github/workflows/mypy.yaml@main From b08c8acb4ef6a7936f5e36762114407ee52e8dd2 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 19:46:33 +0300 Subject: [PATCH 13/26] . --- .github/workflows/pr-test.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 58363a0f3b..160261b26a 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -55,7 +55,9 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint - echo "$YAML_JSON_FILES" | xargs -r -n 1 cfn-lint -i W + for file in $YAML_JSON_FILES; do + cfn-lint "$file" -i W + done mypy: uses: bridgecrewio/gha-reusable-workflows/.github/workflows/mypy.yaml@main @@ -165,7 +167,7 @@ jobs: PRISMA_API_URL: ${{ secrets.PRISMA_API_URL_2 }} run: | # Just making sure the API key tests don't run on PRs - bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} ${{ matrix.python }}' + bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.9' - name: Run integration tests run: | pipenv run pytest integration_tests -k 'not api_key' From 2ce75f55d9c53103945cf5ffcbac1515931ac030 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 20:37:18 +0300 Subject: [PATCH 14/26] . --- .github/workflows/pr-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 160261b26a..65f7c3e931 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -56,6 +56,7 @@ jobs: run: | pip install -U cfn-lint for file in $YAML_JSON_FILES; do + echo "Linting file: $file" cfn-lint "$file" -i W done From 41c7f4fa3a51e2a425c6915c7e9b7b0a8d296ca4 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 20:42:22 +0300 Subject: [PATCH 15/26] . --- .github/workflows/pr-test.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 65f7c3e931..65d0261b31 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -55,8 +55,9 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint + echo "DEBUG: YAML_JSON_FILES = '${YAML_JSON_FILES}'" for file in $YAML_JSON_FILES; do - echo "Linting file: $file" + echo "Linting file: '$file'" cfn-lint "$file" -i W done From bd150849c1af11e899257c7cb24c7511260867d6 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 20:45:52 +0300 Subject: [PATCH 16/26] . --- .github/workflows/pr-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 65d0261b31..ddf9e1fd4b 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -47,7 +47,7 @@ jobs: if: steps.changed-files-specific.outputs.any_changed == 'true' id: filter-files run: | - YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') + YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ' | sed 's/ *$//') if [ -n "$YAML_JSON_FILES" ]; then echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi From cb96b1cf1b88434d4c735074f64bc9a01f536377 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 21:28:23 +0300 Subject: [PATCH 17/26] . --- .github/workflows/pr-test.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index ddf9e1fd4b..dc4fc348e3 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -57,8 +57,12 @@ jobs: pip install -U cfn-lint echo "DEBUG: YAML_JSON_FILES = '${YAML_JSON_FILES}'" for file in $YAML_JSON_FILES; do - echo "Linting file: '$file'" - cfn-lint "$file" -i W + if [ -n "$file" ]; then + echo "Linting file: '$file'" + cfn-lint "$file" -i W + else + echo "Skipping empty file path in loop." + fi done mypy: From 191a14c91ff67a7a0d9aa2a83215fde331438efb Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 21:36:34 +0300 Subject: [PATCH 18/26] . --- .github/workflows/pr-test.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index dc4fc348e3..1d80fc999d 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -47,7 +47,7 @@ jobs: if: steps.changed-files-specific.outputs.any_changed == 'true' id: filter-files run: | - YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ' | sed 's/ *$//') + YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') if [ -n "$YAML_JSON_FILES" ]; then echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi @@ -55,14 +55,8 @@ jobs: if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint - echo "DEBUG: YAML_JSON_FILES = '${YAML_JSON_FILES}'" for file in $YAML_JSON_FILES; do - if [ -n "$file" ]; then - echo "Linting file: '$file'" - cfn-lint "$file" -i W - else - echo "Skipping empty file path in loop." - fi + cfn-lint "$file" -i W done mypy: @@ -228,7 +222,7 @@ jobs: PRISMA_API_URL: ${{ secrets.PRISMA_API_URL_2 }} run: | # Just making sure the API key tests don't run on PRs - bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.9' + bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.8' - name: Run integration tests run: | pipenv run pytest integration_tests -k 'not api_key' From 20a6fa9b67d9cd17402a7894549cb056db87119a Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 21:47:41 +0300 Subject: [PATCH 19/26] . --- .github/workflows/pr-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 1d80fc999d..160261b26a 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -222,7 +222,7 @@ jobs: PRISMA_API_URL: ${{ secrets.PRISMA_API_URL_2 }} run: | # Just making sure the API key tests don't run on PRs - bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.8' + bash -c './integration_tests/prepare_data.sh ${{ matrix.os }} 3.9' - name: Run integration tests run: | pipenv run pytest integration_tests -k 'not api_key' From c703db1013757b4b03d2d1e75a71043531b2b296 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 21:55:28 +0300 Subject: [PATCH 20/26] . --- .github/workflows/pr-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 160261b26a..f36d22005b 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -52,7 +52,7 @@ jobs: echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi - name: Install cfn-lint & Lint Cloudformation templates - if: env.YAML_JSON_FILES != '' + if: env.YAML_JSON_FILES && env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint for file in $YAML_JSON_FILES; do From 844048a57dd1ce231bd2c0ef51ff1c8b94e24afa Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 21:56:49 +0300 Subject: [PATCH 21/26] . --- .github/workflows/pr-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index f36d22005b..57f2ab94b3 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -52,7 +52,7 @@ jobs: echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi - name: Install cfn-lint & Lint Cloudformation templates - if: env.YAML_JSON_FILES && env.YAML_JSON_FILES != '' + if: ${{ env.YAML_JSON_FILES != '' && env.YAML_JSON_FILES != null }} run: | pip install -U cfn-lint for file in $YAML_JSON_FILES; do From 6d100bdea7f28f4af23cb328d82ad7e69cd61da8 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 21:59:45 +0300 Subject: [PATCH 22/26] . --- .github/workflows/pr-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 57f2ab94b3..9867546ac6 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -52,7 +52,7 @@ jobs: echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi - name: Install cfn-lint & Lint Cloudformation templates - if: ${{ env.YAML_JSON_FILES != '' && env.YAML_JSON_FILES != null }} + if: ${{ (env.YAML_JSON_FILES || '') != '' }} run: | pip install -U cfn-lint for file in $YAML_JSON_FILES; do From 273ec8a872dd772f5f99726130329c494999b7f7 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 22:05:41 +0300 Subject: [PATCH 23/26] . --- .github/workflows/pr-test.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 9867546ac6..9938dd6e97 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -48,11 +48,17 @@ jobs: id: filter-files run: | YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') - if [ -n "$YAML_JSON_FILES" ]; then - echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" + VALID_FILES="" + for file in $YAML_JSON_FILES; do + if grep -qE 'AWSTemplateFormatVersion|Resources' "$file"; then + VALID_FILES="$VALID_FILES $file" + fi + done + if [ -n "$VALID_FILES" ]; then + echo "YAML_JSON_FILES=$VALID_FILES" >> "$GITHUB_ENV" fi - name: Install cfn-lint & Lint Cloudformation templates - if: ${{ (env.YAML_JSON_FILES || '') != '' }} + if: env.YAML_JSON_FILES != '' run: | pip install -U cfn-lint for file in $YAML_JSON_FILES; do From d901bafed4e77f2d33a1f06c9135c93e9456df4a Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 22:13:08 +0300 Subject: [PATCH 24/26] . --- .github/workflows/pr-test.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 9938dd6e97..caaa066cba 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -48,21 +48,21 @@ jobs: id: filter-files run: | YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') - VALID_FILES="" - for file in $YAML_JSON_FILES; do - if grep -qE 'AWSTemplateFormatVersion|Resources' "$file"; then - VALID_FILES="$VALID_FILES $file" - fi - done - if [ -n "$VALID_FILES" ]; then - echo "YAML_JSON_FILES=$VALID_FILES" >> "$GITHUB_ENV" + if [ -n "$YAML_JSON_FILES" ]; then + echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi - name: Install cfn-lint & Lint Cloudformation templates if: env.YAML_JSON_FILES != '' run: | + echo "DEBUG: YAML_JSON_FILES='$YAML_JSON_FILES'" pip install -U cfn-lint for file in $YAML_JSON_FILES; do - cfn-lint "$file" -i W + if [ -n "$file" ] && [ -f "$file" ]; then + echo "Linting $file..." + cfn-lint "$file" -i W + else + echo "Skipping invalid or empty file: '$file'" + fi done mypy: From 19b0273bca35f8a83c6656ac599cdc03a5a25582 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 22:18:05 +0300 Subject: [PATCH 25/26] . --- .github/workflows/pr-test.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index caaa066cba..28f4e320f6 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -46,23 +46,21 @@ jobs: - name: Filter YAML and JSON files if: steps.changed-files-specific.outputs.any_changed == 'true' id: filter-files - run: | - YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} | tr ' ' '\n' | grep -E '\.ya?ml$|\.json$' | tr '\n' ' ') + run: | + YAML_JSON_FILES=$(echo ${{ steps.changed-files-specific.outputs.all_changed_files }} \ + | tr ' ' '\n' \ + | grep -E '\.ya?ml$|\.json$' \ + | grep -v 'sam\.yaml$' \ + | tr '\n' ' ') if [ -n "$YAML_JSON_FILES" ]; then echo "YAML_JSON_FILES=$YAML_JSON_FILES" >> "$GITHUB_ENV" fi - name: Install cfn-lint & Lint Cloudformation templates if: env.YAML_JSON_FILES != '' run: | - echo "DEBUG: YAML_JSON_FILES='$YAML_JSON_FILES'" pip install -U cfn-lint for file in $YAML_JSON_FILES; do - if [ -n "$file" ] && [ -f "$file" ]; then - echo "Linting $file..." - cfn-lint "$file" -i W - else - echo "Skipping invalid or empty file: '$file'" - fi + cfn-lint "$file" -i W done mypy: From 7a74ea9cad317cad6effef34b7622673e106d631 Mon Sep 17 00:00:00 2001 From: lshindelman Date: Thu, 9 Oct 2025 22:21:50 +0300 Subject: [PATCH 26/26] . --- .../checks/resource/aws/example_LambdaInVPC/PASS.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml index 6e42af4795..9309e33ac4 100644 --- a/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml +++ b/tests/cloudformation/checks/resource/aws/example_LambdaInVPC/PASS.yaml @@ -11,7 +11,7 @@ Resources: Runtime: python3.9 VpcConfig: SecurityGroupIds: - - sg-12345 + - sg-01234567 SubnetIds: - - subnet-12345 - - subnet-67890 + - subnet-01234567 + - subnet-34567890