http-api-tool 1.0.6__tar.gz → 1.1.0__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 (48) hide show
  1. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/dependabot.yml +4 -0
  2. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/build-test-release.yaml +70 -45
  3. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/build-test.yaml +105 -68
  4. http_api_tool-1.1.0/.github/workflows/clear-action-cache.yaml +58 -0
  5. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/codeql.yml +4 -6
  6. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/openssf-scorecard.yaml +9 -14
  7. http_api_tool-1.1.0/.github/workflows/release-drafter.yaml +45 -0
  8. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/security-scans.yaml +8 -8
  9. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.pre-commit-config.yaml +10 -13
  10. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/PKG-INFO +2 -2
  11. http_api_tool-1.1.0/SECURITY.md +77 -0
  12. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/action.yaml +57 -15
  13. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/docker/Containerfile +4 -4
  14. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/pyproject.toml +52 -1
  15. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/scripts/check-pip-security.py +25 -19
  16. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/src/http_api_tool/__init__.py +1 -2
  17. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/src/http_api_tool/_version.py +2 -2
  18. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/src/http_api_tool/cli.py +39 -48
  19. http_api_tool-1.1.0/src/http_api_tool/curl_client.py +230 -0
  20. http_api_tool-1.1.0/src/http_api_tool/reporting.py +130 -0
  21. http_api_tool-1.1.0/src/http_api_tool/sanitize.py +141 -0
  22. http_api_tool-1.1.0/src/http_api_tool/validation.py +109 -0
  23. http_api_tool-1.1.0/src/http_api_tool/verifier.py +271 -0
  24. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/tests/test_http_api_tool.py +83 -81
  25. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/uv.lock +9 -9
  26. http_api_tool-1.0.6/.github/workflows/autolabeler.yaml +0 -59
  27. http_api_tool-1.0.6/.github/workflows/release-drafter.yaml +0 -35
  28. http_api_tool-1.0.6/.github/workflows/semantic-pull-request.yaml +0 -55
  29. http_api_tool-1.0.6/.github/workflows/verify-gha-versions.yaml +0 -29
  30. http_api_tool-1.0.6/src/http_api_tool/verifier.py +0 -792
  31. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.actrc +0 -0
  32. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.codespell +0 -0
  33. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.dockerignore +0 -0
  34. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.editorconfig +0 -0
  35. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/cache-config.yaml +0 -0
  36. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.gitignore +0 -0
  37. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.gitlint +0 -0
  38. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.readthedocs.yml +0 -0
  39. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.yamllint +0 -0
  40. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/CHANGELOG-v0.2.0.md +0 -0
  41. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/LICENSE +0 -0
  42. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/LICENSES/Apache-2.0.txt +0 -0
  43. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/README.md +0 -0
  44. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/REUSE.toml +0 -0
  45. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/UV-QUICK-REFERENCE.md +0 -0
  46. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/scripts/generate_requirements.py +0 -0
  47. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/sonar-project.properties +0 -0
  48. {http_api_tool-1.0.6 → http_api_tool-1.1.0}/src/http_api_tool/__main__.py +0 -0
@@ -11,6 +11,8 @@ updates:
11
11
  open-pull-requests-limit: 15
12
12
  commit-message:
13
13
  prefix: "Chore"
14
+ cooldown:
15
+ default-days: 7
14
16
  - package-ecosystem: "pip"
15
17
  directory: "/"
16
18
  schedule:
@@ -18,3 +20,5 @@ updates:
18
20
  open-pull-requests-limit: 10
19
21
  commit-message:
20
22
  prefix: "Chore"
23
+ cooldown:
24
+ default-days: 7
@@ -28,23 +28,24 @@ jobs:
28
28
  runs-on: ubuntu-latest
29
29
  permissions:
30
30
  contents: read
31
- pull-requests: read
31
+ pull-requests: read # Gather repository/PR metadata
32
32
  timeout-minutes: 5
33
33
  steps:
34
34
  # yamllint disable-line rule:line-length
35
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
35
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
36
36
  with:
37
37
  egress-policy: audit
38
38
 
39
39
  # yamllint disable-line rule:line-length
40
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
40
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
41
41
  with:
42
42
  fetch-depth: 0
43
+ persist-credentials: false
43
44
 
44
45
  - name: "Gather repository metadata"
45
46
  id: repo-metadata
46
47
  # yamllint disable-line rule:line-length
47
- uses: lfreleng-actions/repository-metadata-action@ceabcd987d13d7bfefd2372e01eebb0ddac45956 # v0.2.0
48
+ uses: lfreleng-actions/repository-metadata-action@8d17362fe9a656744433f3dec7fc60f14b23f858 # v0.2.6
48
49
  with:
49
50
  github_token: ${{ secrets.GITHUB_TOKEN }}
50
51
  github_summary: 'true'
@@ -63,21 +64,22 @@ jobs:
63
64
  steps:
64
65
  # Harden the runner used by this workflow
65
66
  # yamllint disable-line rule:line-length
66
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
67
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
67
68
  with:
68
69
  egress-policy: 'audit'
69
70
 
70
71
  - name: 'Checkout repository'
71
72
  # yamllint disable-line rule:line-length
72
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
73
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
73
74
  with:
74
75
  fetch-depth: 0
75
76
  fetch-tags: true
77
+ persist-credentials: false
76
78
 
77
79
  - name: 'Verify pushed tag'
78
80
  id: 'tag-validate'
79
81
  # yamllint disable-line rule:line-length
80
- uses: lfreleng-actions/tag-validate-action@67695fa3d045917ca7ecc0f1d5f0cad03e231104 # v1.0.1
82
+ uses: lfreleng-actions/tag-validate-action@b2865c287f732486e12dfdfb75aef0692b024608 # v1.1.2
81
83
  with:
82
84
  token: "${{ secrets.GITHUB_TOKEN }}"
83
85
  require_type: 'semver'
@@ -91,9 +93,10 @@ jobs:
91
93
  shell: bash
92
94
  env:
93
95
  GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
96
+ STEPS_TAG_VALIDATE_OUTPUTS_TAG_NAME: ${{ steps.tag-validate.outputs.tag_name }}
94
97
  run: |
95
98
  # Ensure draft release exists
96
- TAG="${{ steps.tag-validate.outputs.tag_name }}"
99
+ TAG="${STEPS_TAG_VALIDATE_OUTPUTS_TAG_NAME}"
97
100
  # Check if release exists and get its draft status
98
101
  if RELEASE_INFO=$(gh release view "$TAG" \
99
102
  --json isDraft 2>/dev/null); then
@@ -129,17 +132,19 @@ jobs:
129
132
  steps:
130
133
  # Harden the runner used by this workflow
131
134
  # yamllint disable-line rule:line-length
132
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
135
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
133
136
  with:
134
137
  egress-policy: 'audit'
135
138
 
136
139
  # yamllint disable-line rule:line-length
137
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
140
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
141
+ with:
142
+ persist-credentials: false
138
143
 
139
144
  - name: 'Build Python project'
140
145
  id: 'python-build'
141
146
  # yamllint disable-line rule:line-length
142
- uses: lfreleng-actions/python-build-action@38b9a4e7ee34e56d178f5bd248df52e41f7d496e # v1.0.6
147
+ uses: lfreleng-actions/python-build-action@97cf36d2a5914c94761408545d154c983024de1d # v2.0.0
143
148
  with:
144
149
  sigstore_sign: true
145
150
  attestations: true
@@ -158,16 +163,18 @@ jobs:
158
163
  steps:
159
164
  # Harden the runner used by this workflow
160
165
  # yamllint disable-line rule:line-length
161
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
166
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
162
167
  with:
163
168
  egress-policy: 'audit'
164
169
 
165
170
  # yamllint disable-line rule:line-length
166
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
171
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
172
+ with:
173
+ persist-credentials: false
167
174
 
168
175
  - name: 'Test Python project [PYTEST]'
169
176
  # yamllint disable-line rule:line-length
170
- uses: lfreleng-actions/python-test-action@92d4110d44ebc18fa4575c6b00203ff67d01a1cb # v1.0.1
177
+ uses: lfreleng-actions/python-test-action@4129c285f63e4d004b9e615b881f44cd63ba5f45 # v1.2.0
171
178
  with:
172
179
  python_version: "${{ matrix.python-version }}"
173
180
 
@@ -185,16 +192,18 @@ jobs:
185
192
  steps:
186
193
  # Harden the runner used by this workflow
187
194
  # yamllint disable-line rule:line-length
188
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
195
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
189
196
  with:
190
197
  egress-policy: 'audit'
191
198
 
192
199
  # yamllint disable-line rule:line-length
193
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
200
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
201
+ with:
202
+ persist-credentials: false
194
203
 
195
204
  - name: 'Audit Python project'
196
205
  # yamllint disable-line rule:line-length
197
- uses: lfreleng-actions/python-audit-action@1776538e768c52c55c3c96495f6e25f0762ad28f # v0.2.6
206
+ uses: lfreleng-actions/python-audit-action@b0f486bd612f394d36e1cb7068a608525bcc9b09 # v0.4.0
198
207
  with:
199
208
  python_version: "${{ matrix.python-version }}"
200
209
  permit_fail: "${{ vars.NO_BLOCK_AUDIT_FAIL == 'true' }}"
@@ -209,24 +218,26 @@ jobs:
209
218
  steps:
210
219
  # Harden the runner used by this workflow
211
220
  # yamllint disable-line rule:line-length
212
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
221
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
213
222
  with:
214
223
  egress-policy: 'audit'
215
224
 
216
225
  # yamllint disable-line rule:line-length
217
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
226
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
227
+ with:
228
+ persist-credentials: false
218
229
 
219
230
  - name: "Generate SBOM"
220
231
  id: sbom
221
232
  # yamllint disable-line rule:line-length
222
- uses: lfreleng-actions/python-sbom-action@ae4aca2ef28d7da4ec95049cc78be43e632d322a # v0.1.0
233
+ uses: lfreleng-actions/python-sbom-action@60648e3351a48617d40f68ccb1f143e050f74c96 # v0.1.1
223
234
  with:
224
235
  include_dev: "false"
225
236
  sbom_format: "both"
226
237
 
227
238
  - name: "Upload SBOM artifacts"
228
239
  # yamllint disable-line rule:line-length
229
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
240
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
230
241
  with:
231
242
  name: sbom-files
232
243
  path: |
@@ -264,7 +275,7 @@ jobs:
264
275
 
265
276
  - name: "Upload Grype scan results"
266
277
  # yamllint disable-line rule:line-length
267
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
278
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
268
279
  if: always()
269
280
  with:
270
281
  name: grype-scan-results
@@ -279,8 +290,8 @@ jobs:
279
290
  # Grype summary
280
291
  {
281
292
  echo "## SBOM Summary"
282
- echo "SBOM count: ${{ steps.sbom.outputs.component_count }}"
283
- echo "Tool used: ${{ steps.sbom.outputs.dependency_manager }}"
293
+ echo "SBOM count: ${STEPS_SBOM_OUTPUTS_COMPONENT_COUNT}"
294
+ echo "Tool used: ${STEPS_SBOM_OUTPUTS_DEPENDENCY_MANAGER}"
284
295
  echo ""
285
296
  echo "## Grype Vulnerability Scan"
286
297
  if [ -f grype-results.txt ]; then
@@ -293,6 +304,9 @@ jobs:
293
304
  echo "--- Grype scan results ---"
294
305
  cat grype-results.txt
295
306
  fi
307
+ env:
308
+ STEPS_SBOM_OUTPUTS_COMPONENT_COUNT: ${{ steps.sbom.outputs.component_count }}
309
+ STEPS_SBOM_OUTPUTS_DEPENDENCY_MANAGER: ${{ steps.sbom.outputs.dependency_manager }}
296
310
 
297
311
  # Fails the job if Grype found vulnerabilities, unless the
298
312
  # NO_BLOCK_AUDIT_FAIL repository variable is set to 'true'.
@@ -331,13 +345,13 @@ jobs:
331
345
  steps:
332
346
  # Harden the runner used by this workflow
333
347
  # yamllint disable-line rule:line-length
334
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
348
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
335
349
  with:
336
350
  egress-policy: 'audit'
337
351
 
338
352
  - name: 'Test PyPI publishing'
339
353
  # yamllint disable-line rule:line-length
340
- uses: lfreleng-actions/pypi-publish-action@f07400a2b57119f1ceac420f559803264b491f23 # v0.1.6
354
+ uses: lfreleng-actions/pypi-publish-action@276603f5d72b11427755ef139c6fb80489cec5d9 # v0.2.0
341
355
  with:
342
356
  environment: 'development'
343
357
  tag: "${{ needs.tag-validate.outputs.tag }}"
@@ -352,26 +366,28 @@ jobs:
352
366
  timeout-minutes: 15
353
367
  permissions:
354
368
  contents: read
355
- packages: write
369
+ packages: write # Push container images to GHCR
356
370
  steps:
357
371
  # Harden the runner used by this workflow
358
372
  # yamllint disable-line rule:line-length
359
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
373
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
360
374
  with:
361
375
  egress-policy: 'audit'
362
376
 
363
377
  # yamllint disable-line rule:line-length
364
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
378
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
379
+ with:
380
+ persist-credentials: false
365
381
 
366
382
  # Set up Docker Buildx
367
383
  - name: Set up Docker Buildx
368
384
  # yamllint disable-line rule:line-length
369
- uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
385
+ uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
370
386
 
371
387
  # Login to GitHub Container Registry
372
388
  - name: Login to Container Registry
373
389
  # yamllint disable-line rule:line-length
374
- uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
390
+ uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
375
391
  with:
376
392
  registry: ${{ env.REGISTRY }}
377
393
  username: ${{ github.actor }}
@@ -381,7 +397,7 @@ jobs:
381
397
  - name: Extract metadata
382
398
  id: meta
383
399
  # yamllint disable-line rule:line-length
384
- uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
400
+ uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0
385
401
  with:
386
402
  images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
387
403
  tags: |
@@ -398,7 +414,7 @@ jobs:
398
414
  # Build and push image with comprehensive caching
399
415
  - name: Build and push Docker image
400
416
  # yamllint disable-line rule:line-length
401
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
417
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
402
418
  with:
403
419
  context: .
404
420
  file: ./docker/Containerfile
@@ -420,8 +436,11 @@ jobs:
420
436
  - name: Verify published image
421
437
  run: |
422
438
  echo "Docker image published successfully to GHCR"
423
- echo "Version: ${{ needs.tag-validate.outputs.tag }}"
424
- echo "Tags: ${{ steps.meta.outputs.tags }}"
439
+ echo "Version: ${NEEDS_TAG_VALIDATE_OUTPUTS_TAG}"
440
+ echo "Tags: ${STEPS_META_OUTPUTS_TAGS}"
441
+ env:
442
+ NEEDS_TAG_VALIDATE_OUTPUTS_TAG: ${{ needs.tag-validate.outputs.tag }}
443
+ STEPS_META_OUTPUTS_TAGS: ${{ steps.meta.outputs.tags }}
425
444
 
426
445
  pypi:
427
446
  name: 'Release PyPI Package'
@@ -438,13 +457,13 @@ jobs:
438
457
  steps:
439
458
  # Harden the runner used by this workflow
440
459
  # yamllint disable-line rule:line-length
441
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
460
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
442
461
  with:
443
462
  egress-policy: 'audit'
444
463
 
445
464
  - name: 'PyPI release'
446
465
  # yamllint disable-line rule:line-length
447
- uses: lfreleng-actions/pypi-publish-action@f07400a2b57119f1ceac420f559803264b491f23 # v0.1.6
466
+ uses: lfreleng-actions/pypi-publish-action@276603f5d72b11427755ef139c6fb80489cec5d9 # v0.2.0
448
467
  with:
449
468
  environment: 'production'
450
469
  attestations: true
@@ -476,12 +495,14 @@ jobs:
476
495
  steps:
477
496
  # Harden the runner used by this workflow
478
497
  # yamllint disable-line rule:line-length
479
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
498
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
480
499
  with:
481
500
  egress-policy: 'audit'
482
501
 
483
502
  # yamllint disable-line rule:line-length
484
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
503
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
504
+ with:
505
+ persist-credentials: false
485
506
 
486
507
  - name: 'Download build artefacts'
487
508
  # yamllint disable-line rule:line-length
@@ -492,7 +513,7 @@ jobs:
492
513
 
493
514
  - name: 'Attach build artefacts to release'
494
515
  # yamllint disable-line rule:line-length
495
- uses: lfreleng-actions/release-assets-action@985ecd2ba521dde165514af406dd114d3db5dab6 # v0.1.0
516
+ uses: lfreleng-actions/release-assets-action@22a6302f3d1775e4a192c45235cc7833a2781b12 # v0.1.1
496
517
  with:
497
518
  asset_paths: '["${{ needs.python-build.outputs.artefact_path }}/**"]'
498
519
  release_tag: "${{ needs.tag-validate.outputs.tag }}"
@@ -514,20 +535,23 @@ jobs:
514
535
  steps:
515
536
  # Harden the runner used by this workflow
516
537
  # yamllint disable-line rule:line-length
517
- - uses: step-security/harden-runner@f808768d1510423e83855289c910610ca9b43176 # v2.17.0
538
+ - uses: step-security/harden-runner@b09bb98e06d4d774595224525879c09bc6e98c40 # v2.20.1
518
539
  with:
519
540
  egress-policy: 'audit'
520
541
 
521
542
  # yamllint disable-line rule:line-length
522
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
543
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
544
+ with:
545
+ persist-credentials: false
523
546
 
524
547
  - name: 'Check if release is already promoted'
525
548
  id: 'check-promoted'
526
549
  shell: bash
527
550
  env:
528
551
  GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
552
+ NEEDS_TAG_VALIDATE_OUTPUTS_TAG: ${{ needs.tag-validate.outputs.tag }}
529
553
  run: |
530
- TAG="${{ needs.tag-validate.outputs.tag }}"
554
+ TAG="${NEEDS_TAG_VALIDATE_OUTPUTS_TAG}"
531
555
  if gh release view "$TAG" --json isDraft --jq '.isDraft' \
532
556
  2>/dev/null | grep -q "false"; then
533
557
  echo "Release $TAG is already promoted, skipping promotion"
@@ -542,7 +566,7 @@ jobs:
542
566
  id: 'promote-release'
543
567
  if: steps.check-promoted.outputs.already_promoted == 'false'
544
568
  # yamllint disable-line rule:line-length
545
- uses: lfreleng-actions/draft-release-promote-action@cd7cf442875ecaea5dbb070d0de94f21ece107c8 # v0.1.3
569
+ uses: lfreleng-actions/draft-release-promote-action@072990900b99030363d81d4131c2bf2855f07df0 # v0.1.4
546
570
  with:
547
571
  token: "${{ secrets.GITHUB_TOKEN }}"
548
572
  tag: "${{ needs.tag-validate.outputs.tag }}"
@@ -554,7 +578,8 @@ jobs:
554
578
  shell: bash
555
579
  env:
556
580
  GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
581
+ NEEDS_TAG_VALIDATE_OUTPUTS_TAG: ${{ needs.tag-validate.outputs.tag }}
557
582
  run: |
558
- TAG="${{ needs.tag-validate.outputs.tag }}"
583
+ TAG="${NEEDS_TAG_VALIDATE_OUTPUTS_TAG}"
559
584
  RELEASE_URL=$(gh release view "$TAG" --json url --jq '.url')
560
585
  echo "release_url=$RELEASE_URL" >> "$GITHUB_OUTPUT"