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.
Files changed (139) hide show
  1. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/dependabot.yml +7 -5
  2. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/copilot-setup-steps.yml +2 -2
  3. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/lint-and-test.yml +2 -2
  4. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/pypi-release.yml +3 -3
  5. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/release-drafter.yml +1 -1
  6. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/test-docs.yml +2 -2
  7. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/update-cloudformation-actions.yml +4 -4
  8. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/workflows/zizmor.yml +2 -2
  9. pycfmodel-2.1.3/Makefile +60 -0
  10. {pycfmodel-2.1.1/pycfmodel.egg-info → pycfmodel-2.1.3}/PKG-INFO +4 -4
  11. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/cloudformation_actions.py +880 -12
  12. {pycfmodel-2.1.1 → pycfmodel-2.1.3/pycfmodel.egg-info}/PKG-INFO +4 -4
  13. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/requires.txt +3 -3
  14. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/scm_file_list.json +97 -97
  15. pycfmodel-2.1.3/pycfmodel.egg-info/scm_version.json +8 -0
  16. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pyproject.toml +7 -3
  17. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_action_expander.py +31 -0
  18. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/uv.lock +208 -214
  19. pycfmodel-2.1.1/Makefile +0 -60
  20. pycfmodel-2.1.1/pycfmodel.egg-info/scm_version.json +0 -8
  21. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.flake8 +0 -0
  22. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/pull_request_template.md +0 -0
  23. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.github/release-drafter.yml +0 -0
  24. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.gitignore +0 -0
  25. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/.readthedocs.yaml +0 -0
  26. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CHANGELOG.md +0 -0
  27. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CLAUDE.md +0 -0
  28. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CODE_OF_CONDUCT.md +0 -0
  29. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/CONTRIBUTING.md +0 -0
  30. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/LICENSE.md +0 -0
  31. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/README.md +0 -0
  32. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/changelog.md +0 -0
  33. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/code_of_conduct.md +0 -0
  34. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/contributing.md +0 -0
  35. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/index.md +0 -0
  36. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/reference/cfmodel.md +0 -0
  37. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/reference/properties.md +0 -0
  38. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/reference/resources.md +0 -0
  39. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/docs/stylesheets/extra.css +0 -0
  40. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/mkdocs.yml +0 -0
  41. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/__init__.py +0 -0
  42. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/action_expander.py +0 -0
  43. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/constants.py +0 -0
  44. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/base.py +0 -0
  45. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/cf_model.py +0 -0
  46. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/generic.py +0 -0
  47. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/parameter.py +0 -0
  48. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/autoscaling_auto_scaling_group.py +0 -0
  49. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/cloudwatch_alarm.py +0 -0
  50. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/dynamodb_table.py +0 -0
  51. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/ec2_vpc_endpoint_policy.py +0 -0
  52. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/elbv2_listener.py +0 -0
  53. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/elbv2_target_group.py +0 -0
  54. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/es_domain.py +0 -0
  55. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/generic_resource.py +0 -0
  56. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_group.py +0 -0
  57. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_instance_profile.py +0 -0
  58. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_managed_policy.py +0 -0
  59. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_policy.py +0 -0
  60. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_role.py +0 -0
  61. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/iam_user.py +0 -0
  62. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/kms_key.py +0 -0
  63. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/opensearch_domain.py +0 -0
  64. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/policy.py +0 -0
  65. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/policy_document.py +0 -0
  66. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/property.py +0 -0
  67. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/security_group_egress_prop.py +0 -0
  68. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/security_group_ingress_prop.py +0 -0
  69. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/statement.py +0 -0
  70. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/statement_condition.py +0 -0
  71. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/tag.py +0 -0
  72. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/properties/types.py +0 -0
  73. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/resource.py +0 -0
  74. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/route53_record_set.py +0 -0
  75. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/s3_bucket.py +0 -0
  76. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/s3_bucket_policy.py +0 -0
  77. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/security_group.py +0 -0
  78. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/security_group_egress.py +0 -0
  79. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/security_group_ingress.py +0 -0
  80. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sns_subscription.py +0 -0
  81. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sns_topic.py +0 -0
  82. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sns_topic_policy.py +0 -0
  83. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sqs_queue.py +0 -0
  84. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/sqs_queue_policy.py +0 -0
  85. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/types.py +0 -0
  86. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/resources/wafv2_ip_set.py +0 -0
  87. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/types.py +0 -0
  88. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/model/utils.py +0 -0
  89. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/resolver.py +0 -0
  90. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel/utils.py +0 -0
  91. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/SOURCES.txt +0 -0
  92. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/dependency_links.txt +0 -0
  93. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/pycfmodel.egg-info/top_level.txt +0 -0
  94. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/scripts/generate_cloudformation_actions_file.py +0 -0
  95. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/scripts/generate_resource_from_schema.py +0 -0
  96. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/setup.cfg +0 -0
  97. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_policy_document.py +0 -0
  98. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_principal.py +0 -0
  99. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_statement.py +0 -0
  100. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/properties/test_statement_condition.py +0 -0
  101. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_autoscaling_auto_scaling_group.py +0 -0
  102. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_cloudwatch_alarm.py +0 -0
  103. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_dynamodb_table.py +0 -0
  104. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_ec2_vpc_endpoint_policy.py +0 -0
  105. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_elbv2_listener.py +0 -0
  106. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_elbv2_target_group.py +0 -0
  107. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_es_domain.py +0 -0
  108. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_generic_resoure.py +0 -0
  109. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_group.py +0 -0
  110. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_instance_profile.py +0 -0
  111. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_managed_policy.py +0 -0
  112. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_policy.py +0 -0
  113. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_role.py +0 -0
  114. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_iam_user.py +0 -0
  115. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_kms_key.py +0 -0
  116. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_opensearch_domain.py +0 -0
  117. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_rds_security_groups.py +0 -0
  118. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_route53_record_set.py +0 -0
  119. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_s3_bucket.py +0 -0
  120. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_s3_bucket_policy.py +0 -0
  121. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_security_group.py +0 -0
  122. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_security_group_egress.py +0 -0
  123. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_security_group_ingress.py +0 -0
  124. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sns_subscription.py +0 -0
  125. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sns_topic.py +0 -0
  126. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sns_topic_policy.py +0 -0
  127. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sqs_queue.py +0 -0
  128. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_sqs_queue_policy.py +0 -0
  129. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/resources/test_wafv2_ip_set.py +0 -0
  130. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_cf_model.py +0 -0
  131. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_constants.py +0 -0
  132. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_generic.py +0 -0
  133. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_parameter.py +0 -0
  134. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_regexs.py +0 -0
  135. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_resolver.py +0 -0
  136. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_resource.py +0 -0
  137. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_resource_generator.py +0 -0
  138. {pycfmodel-2.1.1 → pycfmodel-2.1.3}/tests/test_types.py +0 -0
  139. {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: "pip" # See documentation for possible values
8
+ - package-ecosystem: "uv" # See documentation for possible values
9
9
  directory: "/" # Location of package manifests
10
10
  schedule:
11
- interval: "monthly"
11
+ interval: "weekly"
12
+ open-pull-requests-limit: 10
12
13
  cooldown:
13
- default-days: 7
14
+ default-days: 30
14
15
  - package-ecosystem: "github-actions"
15
16
  directory: "/"
16
17
  schedule:
17
- interval: "monthly"
18
+ interval: "weekly"
19
+ open-pull-requests-limit: 10
18
20
  cooldown:
19
- default-days: 7
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
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@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
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@693d20e7c1ce1a81d3a41962f85914253b518449 # v7.3.1
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
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@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
25
+ uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2
@@ -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.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.3; extra == "dev"
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.6.11; extra == "docs"
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.28.3; extra == "docs"
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