pycfmodel 2.1.1__tar.gz → 2.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/dependabot.yml +7 -5
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/copilot-setup-steps.yml +2 -2
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/lint-and-test.yml +2 -2
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/pypi-release.yml +3 -3
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/release-drafter.yml +1 -1
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/test-docs.yml +2 -2
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/update-cloudformation-actions.yml +4 -4
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/zizmor.yml +2 -2
- pycfmodel-2.1.3/Makefile +60 -0
- {pycfmodel-2.1.1/pycfmodel.egg-info → pycfmodel-2.1.3}/PKG-INFO +4 -4
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/cloudformation_actions.py +880 -12
- {pycfmodel-2.1.1 → pycfmodel-2.1.3/pycfmodel.egg-info}/PKG-INFO +4 -4
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/requires.txt +3 -3
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/scm_file_list.json +97 -97
- pycfmodel-2.1.3/pycfmodel.egg-info/scm_version.json +8 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pyproject.toml +7 -3
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_action_expander.py +31 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/uv.lock +208 -214
- pycfmodel-2.1.1/Makefile +0 -60
- pycfmodel-2.1.1/pycfmodel.egg-info/scm_version.json +0 -8
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.flake8 +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/pull_request_template.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/release-drafter.yml +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.gitignore +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.readthedocs.yaml +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CHANGELOG.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CLAUDE.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CODE_OF_CONDUCT.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CONTRIBUTING.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/LICENSE.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/README.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/changelog.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/code_of_conduct.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/contributing.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/index.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/reference/cfmodel.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/reference/properties.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/reference/resources.md +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/stylesheets/extra.css +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/mkdocs.yml +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/__init__.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/action_expander.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/constants.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/base.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/cf_model.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/generic.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/parameter.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/autoscaling_auto_scaling_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/cloudwatch_alarm.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/dynamodb_table.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/ec2_vpc_endpoint_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/elbv2_listener.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/elbv2_target_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/es_domain.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/generic_resource.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_instance_profile.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_managed_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_role.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_user.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/kms_key.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/opensearch_domain.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/policy_document.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/property.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/security_group_egress_prop.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/security_group_ingress_prop.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/statement.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/statement_condition.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/tag.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/types.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/resource.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/route53_record_set.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/s3_bucket.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/s3_bucket_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/security_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/security_group_egress.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/security_group_ingress.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sns_subscription.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sns_topic.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sns_topic_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sqs_queue.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sqs_queue_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/types.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/wafv2_ip_set.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/types.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/utils.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/resolver.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/utils.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/SOURCES.txt +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/dependency_links.txt +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/top_level.txt +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/scripts/generate_cloudformation_actions_file.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/scripts/generate_resource_from_schema.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/setup.cfg +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_policy_document.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_principal.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_statement.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_statement_condition.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_autoscaling_auto_scaling_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_cloudwatch_alarm.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_dynamodb_table.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_ec2_vpc_endpoint_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_elbv2_listener.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_elbv2_target_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_es_domain.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_generic_resoure.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_instance_profile.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_managed_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_role.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_user.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_kms_key.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_opensearch_domain.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_rds_security_groups.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_route53_record_set.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_s3_bucket.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_s3_bucket_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_security_group.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_security_group_egress.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_security_group_ingress.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sns_subscription.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sns_topic.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sns_topic_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sqs_queue.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sqs_queue_policy.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_wafv2_ip_set.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_cf_model.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_constants.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_generic.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_parameter.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_regexs.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_resolver.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_resource.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_resource_generator.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_types.py +0 -0
- {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_utils.py +0 -0
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
version: 2
|
|
7
7
|
updates:
|
|
8
|
-
- package-ecosystem: "
|
|
8
|
+
- package-ecosystem: "uv" # See documentation for possible values
|
|
9
9
|
directory: "/" # Location of package manifests
|
|
10
10
|
schedule:
|
|
11
|
-
interval: "
|
|
11
|
+
interval: "weekly"
|
|
12
|
+
open-pull-requests-limit: 10
|
|
12
13
|
cooldown:
|
|
13
|
-
default-days:
|
|
14
|
+
default-days: 30
|
|
14
15
|
- package-ecosystem: "github-actions"
|
|
15
16
|
directory: "/"
|
|
16
17
|
schedule:
|
|
17
|
-
interval: "
|
|
18
|
+
interval: "weekly"
|
|
19
|
+
open-pull-requests-limit: 10
|
|
18
20
|
cooldown:
|
|
19
|
-
default-days:
|
|
21
|
+
default-days: 30
|
|
@@ -26,12 +26,12 @@ jobs:
|
|
|
26
26
|
# If you do not check out your code, Copilot will do this for you.
|
|
27
27
|
steps:
|
|
28
28
|
- name: Checkout code
|
|
29
|
-
uses: actions/checkout@
|
|
29
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
30
30
|
with:
|
|
31
31
|
persist-credentials: false
|
|
32
32
|
|
|
33
33
|
- name: Install uv
|
|
34
|
-
uses: astral-sh/setup-uv@
|
|
34
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
35
35
|
with:
|
|
36
36
|
enable-cache: true
|
|
37
37
|
|
|
@@ -16,12 +16,12 @@ jobs:
|
|
|
16
16
|
name: Python ${{ matrix.python-version }}
|
|
17
17
|
|
|
18
18
|
steps:
|
|
19
|
-
- uses: actions/checkout@
|
|
19
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
20
20
|
with:
|
|
21
21
|
persist-credentials: false
|
|
22
22
|
|
|
23
23
|
- name: Install uv
|
|
24
|
-
uses: astral-sh/setup-uv@
|
|
24
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
25
25
|
with:
|
|
26
26
|
enable-cache: true
|
|
27
27
|
|
|
@@ -14,12 +14,12 @@ jobs:
|
|
|
14
14
|
permissions:
|
|
15
15
|
id-token: write
|
|
16
16
|
steps:
|
|
17
|
-
- uses: actions/checkout@
|
|
17
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
18
18
|
with:
|
|
19
19
|
persist-credentials: false
|
|
20
20
|
|
|
21
21
|
- name: Install uv
|
|
22
|
-
uses: astral-sh/setup-uv@
|
|
22
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
23
23
|
with:
|
|
24
24
|
enable-cache: false # Disable cache for release builds to prevent cache poisoning
|
|
25
25
|
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
run: uv build
|
|
31
31
|
|
|
32
32
|
- name: Publish distribution 📦 to PyPI
|
|
33
|
-
uses: pypa/gh-action-pypi-publish@
|
|
33
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
34
34
|
with:
|
|
35
35
|
# zizmor: ignore[use-trusted-publishing] https://github.com/pypi/warehouse/issues/17700
|
|
36
36
|
user: __token__
|
|
@@ -33,6 +33,6 @@ jobs:
|
|
|
33
33
|
app-id: ${{ vars.GH_APP_ID }}
|
|
34
34
|
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
|
|
35
35
|
|
|
36
|
-
- uses: release-drafter/release-drafter@
|
|
36
|
+
- uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0
|
|
37
37
|
env:
|
|
38
38
|
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
|
|
@@ -11,12 +11,12 @@ jobs:
|
|
|
11
11
|
name: Test Docs
|
|
12
12
|
|
|
13
13
|
steps:
|
|
14
|
-
- uses: actions/checkout@
|
|
14
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
15
15
|
with:
|
|
16
16
|
persist-credentials: false
|
|
17
17
|
|
|
18
18
|
- name: Install uv
|
|
19
|
-
uses: astral-sh/setup-uv@
|
|
19
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
20
20
|
with:
|
|
21
21
|
enable-cache: true
|
|
22
22
|
|
|
@@ -2,8 +2,8 @@ name: Update CloudFormation Actions
|
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
schedule:
|
|
5
|
-
# Run weekly on Monday at 9:00 UTC
|
|
6
|
-
- cron: '0 9 * * 1'
|
|
5
|
+
# Run weekly on Monday to Friday at 9:00 UTC
|
|
6
|
+
- cron: '0 9 * * 1-5'
|
|
7
7
|
workflow_dispatch:
|
|
8
8
|
|
|
9
9
|
permissions: {}
|
|
@@ -17,12 +17,12 @@ jobs:
|
|
|
17
17
|
pull-requests: write
|
|
18
18
|
|
|
19
19
|
steps:
|
|
20
|
-
- uses: actions/checkout@
|
|
20
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
21
21
|
with:
|
|
22
22
|
persist-credentials: false
|
|
23
23
|
|
|
24
24
|
- name: Install uv
|
|
25
|
-
uses: astral-sh/setup-uv@
|
|
25
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
26
26
|
|
|
27
27
|
- name: Setup python
|
|
28
28
|
run: uv python install 3.10
|
|
@@ -17,9 +17,9 @@ jobs:
|
|
|
17
17
|
security-events: write
|
|
18
18
|
steps:
|
|
19
19
|
- name: Checkout repository
|
|
20
|
-
uses: actions/checkout@
|
|
20
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
21
21
|
with:
|
|
22
22
|
persist-credentials: false
|
|
23
23
|
|
|
24
24
|
- name: Run zizmor 🌈
|
|
25
|
-
uses: zizmorcore/zizmor-action@
|
|
25
|
+
uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2
|
pycfmodel-2.1.3/Makefile
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
install:
|
|
2
|
+
uv sync --no-dev --locked
|
|
3
|
+
|
|
4
|
+
install-dev:
|
|
5
|
+
uv sync --all-extras --locked
|
|
6
|
+
|
|
7
|
+
install-docs:
|
|
8
|
+
uv sync --extra docs --locked
|
|
9
|
+
|
|
10
|
+
install-cloudformation-update:
|
|
11
|
+
uv sync --extra cloudformation-update --locked
|
|
12
|
+
|
|
13
|
+
cloudformation-update:
|
|
14
|
+
uv run --locked python scripts/generate_cloudformation_actions_file.py
|
|
15
|
+
|
|
16
|
+
fix:
|
|
17
|
+
uv run --locked ruff check --fix .
|
|
18
|
+
|
|
19
|
+
format:
|
|
20
|
+
uv run --locked isort .
|
|
21
|
+
uv run --locked black .
|
|
22
|
+
|
|
23
|
+
lint:
|
|
24
|
+
uv run --locked isort --check-only .
|
|
25
|
+
uv run --locked black --check .
|
|
26
|
+
uv run --locked ruff check .
|
|
27
|
+
|
|
28
|
+
unit:
|
|
29
|
+
uv run --locked pytest -svvv tests
|
|
30
|
+
|
|
31
|
+
coverage:
|
|
32
|
+
uv run --locked coverage run --source=pycfmodel --branch -m pytest tests/ --junitxml=build/test.xml -v
|
|
33
|
+
uv run --locked coverage report
|
|
34
|
+
uv run --locked coverage xml -i -o build/coverage.xml
|
|
35
|
+
uv run --locked coverage html
|
|
36
|
+
|
|
37
|
+
coverage-master:
|
|
38
|
+
uv run --locked coverage run --source=pycfmodel --branch -m pytest tests/ --junitxml=build/test.xml -v -m "not actions"
|
|
39
|
+
uv run --locked coverage report
|
|
40
|
+
uv run --locked coverage xml -i -o build/coverage.xml
|
|
41
|
+
uv run --locked coverage html
|
|
42
|
+
|
|
43
|
+
coverage-html:
|
|
44
|
+
uv run --locked coverage run --source=pycfmodel --branch -m pytest tests/ --junitxml=build/test.xml -v
|
|
45
|
+
uv run --locked coverage html
|
|
46
|
+
open htmlcov/index.html
|
|
47
|
+
|
|
48
|
+
test: lint unit
|
|
49
|
+
|
|
50
|
+
test-docs:
|
|
51
|
+
uv run --locked mkdocs build --strict
|
|
52
|
+
|
|
53
|
+
lock:
|
|
54
|
+
uv lock --default-index https://pypi.org/simple
|
|
55
|
+
|
|
56
|
+
lock-upgrade:
|
|
57
|
+
uv lock --upgrade --default-index https://pypi.org/simple
|
|
58
|
+
|
|
59
|
+
.PHONY: install install-dev install-docs install-cloudformation-update cloudformation-update \
|
|
60
|
+
fix format lint unit coverage coverage-master coverage-html test test-docs lock lock-upgrade
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pycfmodel
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.3
|
|
4
4
|
Summary: A python model for Cloud Formation scripts
|
|
5
5
|
Author-email: Skyscanner Security <security@skyscanner.net>
|
|
6
6
|
Project-URL: Homepage, https://github.com/Skyscanner/pycfmodel
|
|
@@ -17,14 +17,14 @@ Requires-Dist: black>=26.3.1; extra == "dev"
|
|
|
17
17
|
Requires-Dist: isort>=5.4.2; extra == "dev"
|
|
18
18
|
Requires-Dist: pytest>=9.0.3; extra == "dev"
|
|
19
19
|
Requires-Dist: pytest-cov>=2.10.1; extra == "dev"
|
|
20
|
-
Requires-Dist: pytest-repeat==0.9.
|
|
20
|
+
Requires-Dist: pytest-repeat==0.9.4; extra == "dev"
|
|
21
21
|
Requires-Dist: ruff; extra == "dev"
|
|
22
22
|
Provides-Extra: docs
|
|
23
23
|
Requires-Dist: AutoMacDoc==0.3; extra == "docs"
|
|
24
24
|
Requires-Dist: livereload==2.7.1; extra == "docs"
|
|
25
|
-
Requires-Dist: mkdocs-material==9.
|
|
25
|
+
Requires-Dist: mkdocs-material==9.7.7; extra == "docs"
|
|
26
26
|
Requires-Dist: mkdocs==1.6.1; extra == "docs"
|
|
27
|
-
Requires-Dist: mkdocstrings==0.
|
|
27
|
+
Requires-Dist: mkdocstrings==1.0.6; extra == "docs"
|
|
28
28
|
Provides-Extra: cloudformation-update
|
|
29
29
|
Requires-Dist: httpx>=0.14.2; extra == "cloudformation-update"
|
|
30
30
|
Dynamic: license-file
|