zizmor 0.8.0__tar.gz → 1.2.1__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.

Potentially problematic release.


This version of zizmor might be problematic. Click here for more details.

Files changed (212) hide show
  1. {zizmor-0.8.0 → zizmor-1.2.1}/.github/ISSUE_TEMPLATE/feature-request.yml +1 -1
  2. zizmor-1.2.1/.github/workflows/ci.yml +67 -0
  3. {zizmor-0.8.0 → zizmor-1.2.1}/.github/workflows/pypi.yml +40 -36
  4. {zizmor-0.8.0 → zizmor-1.2.1}/.github/workflows/release.yml +2 -0
  5. {zizmor-0.8.0 → zizmor-1.2.1}/.github/workflows/site.yml +1 -2
  6. {zizmor-0.8.0 → zizmor-1.2.1}/.github/workflows/zizmor.yml +4 -6
  7. {zizmor-0.8.0 → zizmor-1.2.1}/Cargo.lock +915 -243
  8. {zizmor-0.8.0 → zizmor-1.2.1}/Cargo.toml +30 -19
  9. zizmor-1.2.1/Makefile +27 -0
  10. {zizmor-0.8.0 → zizmor-1.2.1}/PKG-INFO +24 -5
  11. {zizmor-0.8.0 → zizmor-1.2.1}/README.md +21 -4
  12. {zizmor-0.8.0 → zizmor-1.2.1}/docs/audits.md +238 -35
  13. {zizmor-0.8.0 → zizmor-1.2.1}/docs/configuration.md +5 -1
  14. {zizmor-0.8.0 → zizmor-1.2.1}/docs/development.md +33 -7
  15. {zizmor-0.8.0 → zizmor-1.2.1}/docs/index.md +8 -6
  16. zizmor-1.2.1/docs/installation.md +127 -0
  17. zizmor-1.2.1/docs/quickstart.md +88 -0
  18. zizmor-1.2.1/docs/release-notes.md +481 -0
  19. {zizmor-0.8.0 → zizmor-1.2.1}/docs/snippets/help.txt +6 -2
  20. zizmor-1.2.1/docs/snippets/render-sponsors.py +56 -0
  21. zizmor-1.2.1/docs/snippets/render-trophies.py +40 -0
  22. zizmor-1.2.1/docs/snippets/sponsors.html +15 -0
  23. zizmor-1.2.1/docs/snippets/sponsors.json +7 -0
  24. zizmor-1.2.1/docs/snippets/trophies.md +782 -0
  25. zizmor-1.2.1/docs/snippets/trophies.txt +151 -0
  26. zizmor-1.2.1/docs/trophy-case.md +18 -0
  27. {zizmor-0.8.0 → zizmor-1.2.1}/docs/usage.md +222 -23
  28. {zizmor-0.8.0 → zizmor-1.2.1}/mkdocs.yml +21 -2
  29. zizmor-1.2.1/pyproject.toml +17 -0
  30. zizmor-1.2.1/src/audit/artipacked.rs +148 -0
  31. zizmor-1.2.1/src/audit/bot_conditions.rs +199 -0
  32. zizmor-1.2.1/src/audit/cache_poisoning.rs +331 -0
  33. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/dangerous_triggers.rs +5 -3
  34. zizmor-1.2.1/src/audit/excessive_permissions.rs +225 -0
  35. zizmor-1.2.1/src/audit/github_env.rs +607 -0
  36. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/hardcoded_container_credentials.rs +10 -12
  37. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/impostor_commit.rs +55 -31
  38. zizmor-1.2.1/src/audit/insecure_commands.rs +164 -0
  39. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/known_vulnerable_actions.rs +42 -12
  40. zizmor-1.2.1/src/audit/mod.rs +222 -0
  41. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/ref_confusion.rs +48 -26
  42. zizmor-1.2.1/src/audit/secrets_inherit.rs +50 -0
  43. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/self_hosted_runner.rs +53 -25
  44. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/template_injection.rs +118 -96
  45. zizmor-1.2.1/src/audit/unpinned_uses.rs +100 -0
  46. {zizmor-0.8.0 → zizmor-1.2.1}/src/audit/use_trusted_publishing.rs +38 -46
  47. {zizmor-0.8.0 → zizmor-1.2.1}/src/config.rs +4 -3
  48. {zizmor-0.8.0 → zizmor-1.2.1}/src/expr/expr.pest +4 -8
  49. {zizmor-0.8.0 → zizmor-1.2.1}/src/expr/mod.rs +144 -59
  50. {zizmor-0.8.0 → zizmor-1.2.1}/src/finding/locate.rs +10 -16
  51. {zizmor-0.8.0 → zizmor-1.2.1}/src/finding/mod.rs +37 -10
  52. zizmor-1.2.1/src/github_api.rs +518 -0
  53. zizmor-1.2.1/src/main.rs +423 -0
  54. zizmor-1.2.1/src/models/coordinate.rs +282 -0
  55. zizmor-1.2.1/src/models/uses.rs +147 -0
  56. zizmor-1.2.1/src/models.rs +894 -0
  57. {zizmor-0.8.0 → zizmor-1.2.1}/src/registry.rs +119 -92
  58. {zizmor-0.8.0 → zizmor-1.2.1}/src/render.rs +17 -12
  59. {zizmor-0.8.0 → zizmor-1.2.1}/src/sarif.rs +90 -18
  60. zizmor-1.2.1/src/state.rs +52 -0
  61. {zizmor-0.8.0 → zizmor-1.2.1}/src/utils.rs +57 -2
  62. {zizmor-0.8.0 → zizmor-1.2.1}/tests/acceptance.rs +20 -2
  63. zizmor-1.2.1/tests/snapshot.rs +475 -0
  64. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__artipacked-2.snap +2 -2
  65. zizmor-0.8.0/tests/snapshots/snapshot__artipacked.snap → zizmor-1.2.1/tests/snapshots/snapshot__artipacked-3.snap +7 -7
  66. zizmor-1.2.1/tests/snapshots/snapshot__artipacked-4.snap +18 -0
  67. zizmor-1.2.1/tests/snapshots/snapshot__artipacked.snap +14 -0
  68. zizmor-1.2.1/tests/snapshots/snapshot__bot_conditions.snap +46 -0
  69. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-10.snap +19 -0
  70. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-11.snap +60 -0
  71. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-12.snap +22 -0
  72. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-13.snap +22 -0
  73. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-14.snap +6 -0
  74. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-2.snap +19 -0
  75. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-3.snap +21 -0
  76. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-4.snap +21 -0
  77. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-5.snap +22 -0
  78. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-6.snap +6 -0
  79. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-7.snap +6 -0
  80. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-8.snap +22 -0
  81. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning-9.snap +22 -0
  82. zizmor-1.2.1/tests/snapshots/snapshot__cache_poisoning.snap +6 -0
  83. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-2.snap +14 -0
  84. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-3.snap +33 -0
  85. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-4.snap +14 -0
  86. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-5.snap +14 -0
  87. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-6.snap +6 -0
  88. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-7.snap +36 -0
  89. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-8.snap +30 -0
  90. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions-9.snap +6 -0
  91. zizmor-1.2.1/tests/snapshots/snapshot__excessive_permissions.snap +6 -0
  92. zizmor-1.2.1/tests/snapshots/snapshot__github_env-2.snap +16 -0
  93. zizmor-1.2.1/tests/snapshots/snapshot__github_env-3.snap +16 -0
  94. zizmor-1.2.1/tests/snapshots/snapshot__github_env.snap +33 -0
  95. zizmor-1.2.1/tests/snapshots/snapshot__insecure_commands-2.snap +15 -0
  96. zizmor-1.2.1/tests/snapshots/snapshot__insecure_commands-3.snap +32 -0
  97. zizmor-1.2.1/tests/snapshots/snapshot__insecure_commands.snap +23 -0
  98. zizmor-1.2.1/tests/snapshots/snapshot__secrets_inherit.snap +17 -0
  99. zizmor-1.2.1/tests/snapshots/snapshot__self_hosted-3.snap +14 -0
  100. zizmor-1.2.1/tests/snapshots/snapshot__self_hosted-4.snap +15 -0
  101. zizmor-1.2.1/tests/snapshots/snapshot__self_hosted-5.snap +19 -0
  102. zizmor-1.2.1/tests/snapshots/snapshot__self_hosted-6.snap +21 -0
  103. zizmor-1.2.1/tests/snapshots/snapshot__self_hosted-7.snap +6 -0
  104. zizmor-1.2.1/tests/snapshots/snapshot__self_hosted-8.snap +6 -0
  105. zizmor-1.2.1/tests/snapshots/snapshot__self_hosted.snap +14 -0
  106. zizmor-1.2.1/tests/snapshots/snapshot__template_injection-2.snap +17 -0
  107. zizmor-1.2.1/tests/snapshots/snapshot__template_injection-3.snap +6 -0
  108. zizmor-1.2.1/tests/snapshots/snapshot__template_injection-4.snap +19 -0
  109. zizmor-1.2.1/tests/snapshots/snapshot__template_injection-5.snap +39 -0
  110. zizmor-1.2.1/tests/snapshots/snapshot__template_injection-6.snap +18 -0
  111. zizmor-1.2.1/tests/snapshots/snapshot__template_injection-7.snap +6 -0
  112. zizmor-1.2.1/tests/snapshots/snapshot__template_injection-8.snap +62 -0
  113. zizmor-1.2.1/tests/snapshots/snapshot__template_injection.snap +6 -0
  114. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__unpinned_uses-2.snap +12 -12
  115. zizmor-1.2.1/tests/snapshots/snapshot__unpinned_uses-3.snap +22 -0
  116. zizmor-1.2.1/tests/snapshots/snapshot__unpinned_uses-4.snap +6 -0
  117. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__unpinned_uses.snap +15 -15
  118. zizmor-1.2.1/tests/test-data/artipacked/issue-447-repro.yml +23 -0
  119. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/artipacked.yml +2 -0
  120. zizmor-1.2.1/tests/test-data/bot-conditions.yml +24 -0
  121. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-disabled-by-default.yml +21 -0
  122. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-enabled-by-default.yml +20 -0
  123. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-not-configurable.yml +21 -0
  124. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-opt-in-boolean-toggle.yml +23 -0
  125. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-opt-in-boolish-toggle.yml +18 -0
  126. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-opt-in-expression.yml +23 -0
  127. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-opt-in-multi-value-toggle.yml +22 -0
  128. zizmor-1.2.1/tests/test-data/cache-poisoning/caching-opt-out.yml +22 -0
  129. zizmor-1.2.1/tests/test-data/cache-poisoning/issue-343-repro.yml +43 -0
  130. zizmor-1.2.1/tests/test-data/cache-poisoning/issue-378-repro.yml +25 -0
  131. zizmor-1.2.1/tests/test-data/cache-poisoning/no-cache-aware-steps.yml +16 -0
  132. zizmor-1.2.1/tests/test-data/cache-poisoning/publisher-step.yml +34 -0
  133. zizmor-1.2.1/tests/test-data/cache-poisoning/workflow-release-branch-trigger.yml +21 -0
  134. zizmor-1.2.1/tests/test-data/cache-poisoning/workflow-tag-trigger.yml +22 -0
  135. zizmor-1.2.1/tests/test-data/cache-poisoning.yml +17 -0
  136. zizmor-1.2.1/tests/test-data/excessive-permissions/issue-336-repro.yml +12 -0
  137. zizmor-1.2.1/tests/test-data/excessive-permissions/jobs-broaden-permissions.yml +20 -0
  138. zizmor-1.2.1/tests/test-data/excessive-permissions/workflow-default-perms-all-jobs-explicit.yml +24 -0
  139. zizmor-1.2.1/tests/test-data/excessive-permissions/workflow-default-perms.yml +13 -0
  140. zizmor-1.2.1/tests/test-data/excessive-permissions/workflow-empty-perms.yml +20 -0
  141. zizmor-1.2.1/tests/test-data/excessive-permissions/workflow-read-all.yml +18 -0
  142. zizmor-1.2.1/tests/test-data/excessive-permissions/workflow-write-all.yml +18 -0
  143. zizmor-1.2.1/tests/test-data/excessive-permissions/workflow-write-explicit.yml +25 -0
  144. zizmor-1.2.1/tests/test-data/github-env/action.yml +28 -0
  145. zizmor-1.2.1/tests/test-data/github-env/github-path.yml +16 -0
  146. zizmor-1.2.1/tests/test-data/github-env/issue-397-repro.yml +18 -0
  147. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/github_env.yml +2 -0
  148. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/hardcoded-credentials.yml +2 -0
  149. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/inlined-ignores.yml +2 -0
  150. zizmor-1.2.1/tests/test-data/insecure-commands/action.yml +32 -0
  151. zizmor-1.2.1/tests/test-data/insecure-commands.yml +24 -0
  152. zizmor-1.2.1/tests/test-data/secrets-inherit.yml +24 -0
  153. zizmor-1.2.1/tests/test-data/self-hosted/issue-283-repro.yml +15 -0
  154. zizmor-1.2.1/tests/test-data/self-hosted/self-hosted-matrix-dimension.yml +14 -0
  155. zizmor-1.2.1/tests/test-data/self-hosted/self-hosted-matrix-exclusion.yml +18 -0
  156. zizmor-1.2.1/tests/test-data/self-hosted/self-hosted-matrix-inclusion.yml +16 -0
  157. zizmor-1.2.1/tests/test-data/self-hosted/self-hosted-runner-group.yml +12 -0
  158. zizmor-1.2.1/tests/test-data/self-hosted/self-hosted-runner-label.yml +11 -0
  159. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/self-hosted.yml +2 -0
  160. zizmor-1.2.1/tests/test-data/template-injection/issue-22-repro.yml +66 -0
  161. zizmor-1.2.1/tests/test-data/template-injection/issue-339-repro.yml +30 -0
  162. zizmor-1.2.1/tests/test-data/template-injection/issue-418-repro.yml +19 -0
  163. zizmor-1.2.1/tests/test-data/template-injection/pr-317-repro.yml +28 -0
  164. zizmor-1.2.1/tests/test-data/template-injection/pr-425-backstop/action.yml +31 -0
  165. zizmor-1.2.1/tests/test-data/template-injection/static-env.yml +55 -0
  166. zizmor-1.2.1/tests/test-data/template-injection/template-injection-dynamic-matrix.yml +21 -0
  167. zizmor-1.2.1/tests/test-data/template-injection/template-injection-static-matrix.yml +20 -0
  168. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/template-injection.yml +2 -0
  169. zizmor-1.2.1/tests/test-data/unpinned-uses/action.yml +11 -0
  170. zizmor-1.2.1/tests/test-data/unpinned-uses/issue-433-repro.yml +19 -0
  171. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/unpinned-uses.yml +2 -0
  172. zizmor-1.2.1/uv.lock +869 -0
  173. zizmor-0.8.0/.github/FUNDING.yml +0 -2
  174. zizmor-0.8.0/.github/release.yml +0 -29
  175. zizmor-0.8.0/.github/workflows/ci.yml +0 -36
  176. zizmor-0.8.0/.pre-commit-hooks.yaml +0 -6
  177. zizmor-0.8.0/Makefile +0 -22
  178. zizmor-0.8.0/docs/installation.md +0 -66
  179. zizmor-0.8.0/docs/quickstart.md +0 -73
  180. zizmor-0.8.0/pyproject.toml +0 -6
  181. zizmor-0.8.0/site-requirements.txt +0 -2
  182. zizmor-0.8.0/src/audit/artipacked.rs +0 -146
  183. zizmor-0.8.0/src/audit/excessive_permissions.rs +0 -162
  184. zizmor-0.8.0/src/audit/github_env.rs +0 -206
  185. zizmor-0.8.0/src/audit/insecure_commands.rs +0 -94
  186. zizmor-0.8.0/src/audit/mod.rs +0 -136
  187. zizmor-0.8.0/src/audit/unpinned_uses.rs +0 -55
  188. zizmor-0.8.0/src/github_api.rs +0 -319
  189. zizmor-0.8.0/src/main.rs +0 -304
  190. zizmor-0.8.0/src/models.rs +0 -760
  191. zizmor-0.8.0/src/state.rs +0 -63
  192. zizmor-0.8.0/tests/snapshot.rs +0 -170
  193. zizmor-0.8.0/tests/snapshots/snapshot__self_hosted.snap +0 -14
  194. zizmor-0.8.0/tests/test-data/insecure-commands.yml +0 -11
  195. {zizmor-0.8.0 → zizmor-1.2.1}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  196. {zizmor-0.8.0 → zizmor-1.2.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  197. {zizmor-0.8.0 → zizmor-1.2.1}/.github/dependabot.yml +0 -0
  198. {zizmor-0.8.0 → zizmor-1.2.1}/.gitignore +0 -0
  199. {zizmor-0.8.0 → zizmor-1.2.1}/CONTRIBUTING.md +0 -0
  200. {zizmor-0.8.0 → zizmor-1.2.1}/LICENSE +0 -0
  201. {zizmor-0.8.0 → zizmor-1.2.1}/docs/assets/favicon48x48.png +0 -0
  202. {zizmor-0.8.0 → zizmor-1.2.1}/docs/assets/rainbow.svg +0 -0
  203. {zizmor-0.8.0 → zizmor-1.2.1}/docs/assets/zizmor-demo.gif +0 -0
  204. {zizmor-0.8.0 → zizmor-1.2.1}/docs/magiclink.css +0 -0
  205. {zizmor-0.8.0 → zizmor-1.2.1}/tests/common.rs +0 -0
  206. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__cant_retrieve.snap +0 -0
  207. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__conflicting_online_options-2.snap +0 -0
  208. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__conflicting_online_options-3.snap +0 -0
  209. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__conflicting_online_options.snap +0 -0
  210. {zizmor-0.8.0 → zizmor-1.2.1}/tests/snapshots/snapshot__self_hosted-2.snap +0 -0
  211. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/excessive-permissions.yml +0 -0
  212. {zizmor-0.8.0 → zizmor-1.2.1}/tests/test-data/use-trusted-publishing.yml +0 -0
@@ -7,7 +7,7 @@ body:
7
7
  - type: markdown
8
8
  attributes:
9
9
  value: |
10
- Thank for for making a `zizmor` feature request!
10
+ Thanks for making a `zizmor` feature request!
11
11
 
12
12
  Please read the following parts of this form carefully.
13
13
  Invalid or incomplete submissions take longer to triage,
@@ -0,0 +1,67 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+
9
+ permissions: {}
10
+
11
+ jobs:
12
+ lint:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
16
+ with:
17
+ persist-credentials: false
18
+
19
+ - name: Format
20
+ run: cargo fmt && git diff --exit-code
21
+
22
+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2
23
+
24
+ - name: Lint
25
+ run: cargo clippy -- -D warnings
26
+
27
+ test:
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
31
+ with:
32
+ persist-credentials: false
33
+
34
+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2
35
+
36
+ - uses: astral-sh/setup-uv@b5f58b2abc5763ade55e4e9d0fe52cd1ff7979ca # v5.2.1
37
+
38
+ - name: Test
39
+ run: cargo test
40
+
41
+ - name: Test snippets
42
+ run: |
43
+ make snippets
44
+ git diff --exit-code
45
+
46
+ test-site:
47
+ runs-on: ubuntu-latest
48
+ steps:
49
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
50
+ with:
51
+ persist-credentials: false
52
+
53
+ - uses: astral-sh/setup-uv@b5f58b2abc5763ade55e4e9d0fe52cd1ff7979ca # v5.2.1
54
+
55
+ - name: Test site
56
+ run: make site
57
+
58
+ all-tests-pass:
59
+ if: always()
60
+ needs: [lint, test, test-site]
61
+ runs-on: ubuntu-latest
62
+
63
+ steps:
64
+ - name: check test jobs
65
+ uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
66
+ with:
67
+ jobs: ${{ toJSON(needs) }}
@@ -6,7 +6,6 @@ on:
6
6
  - main
7
7
  tags:
8
8
  - '*'
9
- pull_request:
10
9
  workflow_dispatch:
11
10
 
12
11
  permissions:
@@ -18,32 +17,37 @@ jobs:
18
17
  strategy:
19
18
  matrix:
20
19
  platform:
21
- - runner: ubuntu-22.04
20
+ - runner: ubuntu-24.04
22
21
  target: x86_64
23
- - runner: ubuntu-22.04
22
+ manylinux: auto
23
+ - runner: ubuntu-24.04
24
24
  target: x86
25
- # FUBAR
26
- # - runner: ubuntu-22.04
27
- # target: aarch64
28
- - runner: ubuntu-22.04
25
+ manylinux: auto
26
+ - runner: ubuntu-24.04-arm
27
+ target: aarch64
28
+ manylinux: "2_24"
29
+ - runner: ubuntu-24.04
29
30
  target: armv7
30
- - runner: ubuntu-22.04
31
+ manylinux: auto
32
+ - runner: ubuntu-24.04
31
33
  target: s390x
32
- - runner: ubuntu-22.04
34
+ manylinux: auto
35
+ - runner: ubuntu-24.04
33
36
  target: ppc64le
37
+ manylinux: auto
34
38
  steps:
35
- - uses: actions/checkout@v4
39
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
36
40
  with:
37
41
  persist-credentials: false
38
42
  - name: Build wheels
39
- uses: PyO3/maturin-action@v1
43
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
40
44
  with:
41
45
  target: ${{ matrix.platform.target }}
42
46
  args: --release --out dist
43
- sccache: 'true'
44
- manylinux: auto
47
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
48
+ manylinux: ${{ matrix.platform.manylinux }}
45
49
  - name: Upload wheels
46
- uses: actions/upload-artifact@v4
50
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4
47
51
  with:
48
52
  name: wheels-linux-${{ matrix.platform.target }}
49
53
  path: dist
@@ -53,27 +57,27 @@ jobs:
53
57
  strategy:
54
58
  matrix:
55
59
  platform:
56
- - runner: ubuntu-22.04
60
+ - runner: ubuntu-24.04
57
61
  target: x86_64
58
- - runner: ubuntu-22.04
62
+ - runner: ubuntu-24.04
59
63
  target: x86
60
- - runner: ubuntu-22.04
64
+ - runner: ubuntu-24.04
61
65
  target: aarch64
62
- - runner: ubuntu-22.04
66
+ - runner: ubuntu-24.04
63
67
  target: armv7
64
68
  steps:
65
- - uses: actions/checkout@v4
69
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
66
70
  with:
67
71
  persist-credentials: false
68
72
  - name: Build wheels
69
- uses: PyO3/maturin-action@v1
73
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
70
74
  with:
71
75
  target: ${{ matrix.platform.target }}
72
76
  args: --release --out dist
73
- sccache: 'true'
77
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
74
78
  manylinux: musllinux_1_2
75
79
  - name: Upload wheels
76
- uses: actions/upload-artifact@v4
80
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4
77
81
  with:
78
82
  name: wheels-musllinux-${{ matrix.platform.target }}
79
83
  path: dist
@@ -88,17 +92,17 @@ jobs:
88
92
  - runner: windows-latest
89
93
  target: x86
90
94
  steps:
91
- - uses: actions/checkout@v4
95
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
92
96
  with:
93
97
  persist-credentials: false
94
98
  - name: Build wheels
95
- uses: PyO3/maturin-action@v1
99
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
96
100
  with:
97
101
  target: ${{ matrix.platform.target }}
98
102
  args: --release --out dist
99
- sccache: 'true'
103
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
100
104
  - name: Upload wheels
101
- uses: actions/upload-artifact@v4
105
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4
102
106
  with:
103
107
  name: wheels-windows-${{ matrix.platform.target }}
104
108
  path: dist
@@ -113,17 +117,17 @@ jobs:
113
117
  - runner: macos-14
114
118
  target: aarch64
115
119
  steps:
116
- - uses: actions/checkout@v4
120
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
117
121
  with:
118
122
  persist-credentials: false
119
123
  - name: Build wheels
120
- uses: PyO3/maturin-action@v1
124
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
121
125
  with:
122
126
  target: ${{ matrix.platform.target }}
123
127
  args: --release --out dist
124
- sccache: 'true'
128
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} # zizmor: ignore[cache-poisoning]
125
129
  - name: Upload wheels
126
- uses: actions/upload-artifact@v4
130
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4
127
131
  with:
128
132
  name: wheels-macos-${{ matrix.platform.target }}
129
133
  path: dist
@@ -131,16 +135,16 @@ jobs:
131
135
  sdist:
132
136
  runs-on: ubuntu-latest
133
137
  steps:
134
- - uses: actions/checkout@v4
138
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
135
139
  with:
136
140
  persist-credentials: false
137
141
  - name: Build sdist
138
- uses: PyO3/maturin-action@v1
142
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
139
143
  with:
140
144
  command: sdist
141
145
  args: --out dist
142
146
  - name: Upload sdist
143
- uses: actions/upload-artifact@v4
147
+ uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4
144
148
  with:
145
149
  name: wheels-sdist
146
150
  path: dist
@@ -161,14 +165,14 @@ jobs:
161
165
  # Used to generate artifact attestation
162
166
  attestations: write
163
167
  steps:
164
- - uses: actions/download-artifact@v4
168
+ - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4
165
169
  - name: Generate artifact attestation
166
- uses: actions/attest-build-provenance@v1
170
+ uses: actions/attest-build-provenance@7668571508540a607bdfd90a87a560489fe372eb # v2
167
171
  with:
168
172
  subject-path: 'wheels-*/*'
169
173
  - name: Publish to PyPI
170
174
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
171
- uses: PyO3/maturin-action@v1
175
+ uses: PyO3/maturin-action@ea5bac0f1ccd0ab11c805e2b804bfcb65dac2eab # v1
172
176
  with:
173
177
  command: upload
174
178
  args: --non-interactive --skip-existing wheels-*/*
@@ -5,6 +5,8 @@ on:
5
5
 
6
6
  name: release
7
7
 
8
+ permissions: {}
9
+
8
10
  jobs:
9
11
  crates:
10
12
  runs-on: ubuntu-latest
@@ -4,7 +4,6 @@ on:
4
4
  push:
5
5
  branches:
6
6
  - main
7
- - site-staging
8
7
 
9
8
  workflow_dispatch:
10
9
 
@@ -31,7 +30,7 @@ jobs:
31
30
  persist-credentials: false
32
31
 
33
32
  - name: Install the latest version of uv
34
- uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v3
33
+ uses: astral-sh/setup-uv@b5f58b2abc5763ade55e4e9d0fe52cd1ff7979ca # v5.2.1
35
34
 
36
35
  - name: build site
37
36
  run: make site
@@ -18,16 +18,14 @@ jobs:
18
18
  uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
19
19
  with:
20
20
  persist-credentials: false
21
- - name: Setup Rust
22
- uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1
23
- - name: Get zizmor
24
- run: cargo install zizmor
21
+ - name: Install the latest version of uv
22
+ uses: astral-sh/setup-uv@b5f58b2abc5763ade55e4e9d0fe52cd1ff7979ca # v5.2.1
25
23
  - name: Run zizmor 🌈
26
- run: zizmor --format sarif . > results.sarif
24
+ run: uvx zizmor --format sarif . > results.sarif
27
25
  env:
28
26
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
29
27
  - name: Upload SARIF file
30
- uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
28
+ uses: github/codeql-action/upload-sarif@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
31
29
  with:
32
30
  sarif_file: results.sarif
33
31
  category: zizmor