http-api-tool 1.1.2__tar.gz → 1.1.4__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 (46) hide show
  1. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/workflows/build-test-release.yaml +25 -25
  2. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/workflows/build-test.yaml +30 -30
  3. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/workflows/clear-action-cache.yaml +1 -1
  4. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/workflows/codeql.yml +10 -8
  5. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/workflows/openssf-scorecard.yaml +7 -7
  6. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/workflows/release-drafter.yaml +4 -4
  7. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/workflows/security-scans.yaml +2 -2
  8. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.pre-commit-config.yaml +3 -3
  9. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/PKG-INFO +6 -7
  10. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/README.md +3 -3
  11. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/action.yaml +1 -1
  12. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/pyproject.toml +4 -5
  13. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/_version.py +2 -2
  14. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/uv.lock +93 -158
  15. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.actrc +0 -0
  16. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.aislop/config.yml +0 -0
  17. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.codespell +0 -0
  18. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.dockerignore +0 -0
  19. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.editorconfig +0 -0
  20. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/actionlint.yaml +0 -0
  21. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/cache-config.yaml +0 -0
  22. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.github/dependabot.yml +0 -0
  23. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.gitignore +0 -0
  24. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.gitlint +0 -0
  25. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.readthedocs.yml +0 -0
  26. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/.yamllint +0 -0
  27. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/AGENTS.md +0 -0
  28. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/CHANGELOG-v0.2.0.md +0 -0
  29. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/LICENSE +0 -0
  30. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/LICENSES/Apache-2.0.txt +0 -0
  31. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/REUSE.toml +0 -0
  32. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/SECURITY.md +0 -0
  33. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/UV-QUICK-REFERENCE.md +0 -0
  34. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/docker/Containerfile +0 -0
  35. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/scripts/check-pip-security.py +0 -0
  36. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/scripts/generate_requirements.py +0 -0
  37. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/sonar-project.properties +0 -0
  38. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/__init__.py +0 -0
  39. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/__main__.py +0 -0
  40. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/cli.py +0 -0
  41. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/curl_client.py +0 -0
  42. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/reporting.py +0 -0
  43. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/sanitize.py +0 -0
  44. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/validation.py +0 -0
  45. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/src/http_api_tool/verifier.py +0 -0
  46. {http_api_tool-1.1.2 → http_api_tool-1.1.4}/tests/test_http_api_tool.py +0 -0
@@ -32,7 +32,7 @@ jobs:
32
32
  timeout-minutes: 5
33
33
  steps:
34
34
  # yamllint disable-line rule:line-length
35
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
35
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
36
36
  with:
37
37
  egress-policy: audit
38
38
 
@@ -45,7 +45,7 @@ jobs:
45
45
  - name: "Gather repository metadata"
46
46
  id: repo-metadata
47
47
  # yamllint disable-line rule:line-length
48
- uses: lfreleng-actions/repository-metadata-action@847400e0d0b34cc88a572fa9575accd80401b796 # v0.3.1
48
+ uses: lfreleng-actions/repository-metadata-action@2206d754f65f1a90f57b49be546712c5f594def2 # v0.3.3
49
49
  with:
50
50
  github_token: ${{ secrets.GITHUB_TOKEN }}
51
51
  github_summary: 'true'
@@ -64,7 +64,7 @@ jobs:
64
64
  steps:
65
65
  # Harden the runner used by this workflow
66
66
  # yamllint disable-line rule:line-length
67
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
67
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
68
68
  with:
69
69
  egress-policy: 'audit'
70
70
 
@@ -79,7 +79,7 @@ jobs:
79
79
  - name: 'Verify pushed tag'
80
80
  id: 'tag-validate'
81
81
  # yamllint disable-line rule:line-length
82
- uses: lfreleng-actions/tag-validate-action@63470621b8ebc5c4fc86ebb616727dd0a7285dd9 # v1.1.7
82
+ uses: lfreleng-actions/tag-validate-action@eab7d92e02c8b447a4de04e68bd5ee7eae3450eb # v1.1.8
83
83
  with:
84
84
  token: "${{ secrets.GITHUB_TOKEN }}"
85
85
  require_type: 'semver'
@@ -132,7 +132,7 @@ jobs:
132
132
  steps:
133
133
  # Harden the runner used by this workflow
134
134
  # yamllint disable-line rule:line-length
135
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
135
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
136
136
  with:
137
137
  egress-policy: 'audit'
138
138
 
@@ -144,7 +144,7 @@ jobs:
144
144
  - name: 'Build Python project'
145
145
  id: 'python-build'
146
146
  # yamllint disable-line rule:line-length
147
- uses: lfreleng-actions/python-build-action@1a1d011cd71e781f9b7896fc9a8c5653406a7758 # v2.1.0
147
+ uses: lfreleng-actions/python-build-action@3cdb6f8e3b9c6c8fb21cce123f7b873b3620273d # v2.1.1
148
148
  with:
149
149
  sigstore_sign: true
150
150
  attestations: true
@@ -163,7 +163,7 @@ jobs:
163
163
  steps:
164
164
  # Harden the runner used by this workflow
165
165
  # yamllint disable-line rule:line-length
166
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
166
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
167
167
  with:
168
168
  egress-policy: 'audit'
169
169
 
@@ -174,7 +174,7 @@ jobs:
174
174
 
175
175
  - name: 'Test Python project [PYTEST]'
176
176
  # yamllint disable-line rule:line-length
177
- uses: lfreleng-actions/python-test-action@88506b4bba4d2acd670ea3cc0bb6f976e0391d24 # v1.3.0
177
+ uses: lfreleng-actions/python-test-action@0c2fe7546faea2321e003c1c3b26a9156a7bc432 # v1.3.1
178
178
  with:
179
179
  python_version: "${{ matrix.python-version }}"
180
180
 
@@ -192,7 +192,7 @@ jobs:
192
192
  steps:
193
193
  # Harden the runner used by this workflow
194
194
  # yamllint disable-line rule:line-length
195
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
195
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
196
196
  with:
197
197
  egress-policy: 'audit'
198
198
 
@@ -203,7 +203,7 @@ jobs:
203
203
 
204
204
  - name: 'Audit Python project'
205
205
  # yamllint disable-line rule:line-length
206
- uses: lfreleng-actions/python-audit-action@f823e631b562f7632730ab36ba0b59a724350d88 # v0.5.1
206
+ uses: lfreleng-actions/python-audit-action@47af793a2a28882b10ceb9109646cbbcecc2e7b0 # v0.6.1
207
207
  with:
208
208
  python_version: "${{ matrix.python-version }}"
209
209
  permit_fail: "${{ vars.NO_BLOCK_AUDIT_FAIL == 'true' }}"
@@ -218,7 +218,7 @@ jobs:
218
218
  steps:
219
219
  # Harden the runner used by this workflow
220
220
  # yamllint disable-line rule:line-length
221
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
221
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
222
222
  with:
223
223
  egress-policy: 'audit'
224
224
 
@@ -230,14 +230,14 @@ jobs:
230
230
  - name: "Generate SBOM"
231
231
  id: sbom
232
232
  # yamllint disable-line rule:line-length
233
- uses: lfreleng-actions/python-sbom-action@a849d7190403165d437f2b8d29bc17a4894728f7 # v0.1.3
233
+ uses: lfreleng-actions/python-sbom-action@639001a0def8109e045818dfb3ee82cf602657af # v0.1.4
234
234
  with:
235
235
  include_dev: "false"
236
236
  sbom_format: "both"
237
237
 
238
238
  - name: "Upload SBOM artifacts"
239
239
  # yamllint disable-line rule:line-length
240
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
240
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
241
241
  with:
242
242
  name: sbom-files
243
243
  path: |
@@ -275,7 +275,7 @@ jobs:
275
275
 
276
276
  - name: "Upload Grype scan results"
277
277
  # yamllint disable-line rule:line-length
278
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
278
+ uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
279
279
  if: always()
280
280
  with:
281
281
  name: grype-scan-results
@@ -345,13 +345,13 @@ jobs:
345
345
  steps:
346
346
  # Harden the runner used by this workflow
347
347
  # yamllint disable-line rule:line-length
348
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
348
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
349
349
  with:
350
350
  egress-policy: 'audit'
351
351
 
352
352
  - name: 'Test PyPI publishing'
353
353
  # yamllint disable-line rule:line-length
354
- uses: lfreleng-actions/pypi-publish-action@276603f5d72b11427755ef139c6fb80489cec5d9 # v0.2.0
354
+ uses: lfreleng-actions/pypi-publish-action@95a73a3d8f8a665d0816d35fcd6a75a2508e9aeb # v0.2.1
355
355
  with:
356
356
  environment: 'development'
357
357
  tag: "${{ needs.tag-validate.outputs.tag }}"
@@ -370,7 +370,7 @@ jobs:
370
370
  steps:
371
371
  # Harden the runner used by this workflow
372
372
  # yamllint disable-line rule:line-length
373
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
373
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
374
374
  with:
375
375
  egress-policy: 'audit'
376
376
 
@@ -387,7 +387,7 @@ jobs:
387
387
  # Login to GitHub Container Registry
388
388
  - name: Login to Container Registry
389
389
  # yamllint disable-line rule:line-length
390
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
390
+ uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
391
391
  with:
392
392
  registry: ${{ env.REGISTRY }}
393
393
  username: ${{ github.actor }}
@@ -457,13 +457,13 @@ jobs:
457
457
  steps:
458
458
  # Harden the runner used by this workflow
459
459
  # yamllint disable-line rule:line-length
460
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
460
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
461
461
  with:
462
462
  egress-policy: 'audit'
463
463
 
464
464
  - name: 'PyPI release'
465
465
  # yamllint disable-line rule:line-length
466
- uses: lfreleng-actions/pypi-publish-action@276603f5d72b11427755ef139c6fb80489cec5d9 # v0.2.0
466
+ uses: lfreleng-actions/pypi-publish-action@95a73a3d8f8a665d0816d35fcd6a75a2508e9aeb # v0.2.1
467
467
  with:
468
468
  environment: 'production'
469
469
  attestations: true
@@ -495,7 +495,7 @@ jobs:
495
495
  steps:
496
496
  # Harden the runner used by this workflow
497
497
  # yamllint disable-line rule:line-length
498
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
498
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
499
499
  with:
500
500
  egress-policy: 'audit'
501
501
 
@@ -506,14 +506,14 @@ jobs:
506
506
 
507
507
  - name: 'Download build artefacts'
508
508
  # yamllint disable-line rule:line-length
509
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
509
+ uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
510
510
  with:
511
511
  name: "${{ needs.python-build.outputs.artefact_name }}"
512
512
  path: "${{ needs.python-build.outputs.artefact_path }}"
513
513
 
514
514
  - name: 'Attach build artefacts to release'
515
515
  # yamllint disable-line rule:line-length
516
- uses: lfreleng-actions/release-assets-action@51e2955cf9aeab3731efd7cc4605aa2847e7d8e2 # v0.1.3
516
+ uses: lfreleng-actions/release-assets-action@d7b650fbf8fbca7a436f75ddada3d4cdbd36a802 # v0.1.4
517
517
  with:
518
518
  asset_paths: '["${{ needs.python-build.outputs.artefact_path }}/**"]'
519
519
  release_tag: "${{ needs.tag-validate.outputs.tag }}"
@@ -535,7 +535,7 @@ jobs:
535
535
  steps:
536
536
  # Harden the runner used by this workflow
537
537
  # yamllint disable-line rule:line-length
538
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
538
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
539
539
  with:
540
540
  egress-policy: 'audit'
541
541
 
@@ -566,7 +566,7 @@ jobs:
566
566
  id: 'promote-release'
567
567
  if: steps.check-promoted.outputs.already_promoted == 'false'
568
568
  # yamllint disable-line rule:line-length
569
- uses: lfreleng-actions/draft-release-promote-action@e420b392557c9b1eea642f0d54dec4ff39086d5f # v0.1.5
569
+ uses: lfreleng-actions/draft-release-promote-action@358264a2efca5ac359a90718373cbce18016bd27 # v0.1.7
570
570
  with:
571
571
  token: "${{ secrets.GITHUB_TOKEN }}"
572
572
  tag: "${{ needs.tag-validate.outputs.tag }}"
@@ -76,7 +76,7 @@ jobs:
76
76
  steps:
77
77
  # Harden the runner
78
78
  - name: Harden Runner
79
- uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
79
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
80
80
  with:
81
81
  egress-policy: audit
82
82
 
@@ -132,7 +132,7 @@ jobs:
132
132
  steps:
133
133
  # Set up go-httpbin for testing
134
134
  - name: Setup go-httpbin HTTPS service
135
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
135
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
136
136
  id: go-httpbin
137
137
  with:
138
138
  debug: 'true'
@@ -203,7 +203,7 @@ jobs:
203
203
  steps:
204
204
  # Harden the runner
205
205
  - name: Harden Runner
206
- uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
206
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
207
207
  with:
208
208
  egress-policy: audit
209
209
 
@@ -218,7 +218,7 @@ jobs:
218
218
 
219
219
  # Login to GitHub Container Registry
220
220
  - name: Login to Container Registry
221
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
221
+ uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
222
222
  with:
223
223
  registry: ${{ env.REGISTRY }}
224
224
  username: ${{ github.actor }}
@@ -285,7 +285,7 @@ jobs:
285
285
  GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
286
286
  steps:
287
287
  # Harden the runner used by this workflow
288
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
288
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
289
289
  with:
290
290
  egress-policy: 'audit'
291
291
 
@@ -296,7 +296,7 @@ jobs:
296
296
  # Setup Python with enhanced caching
297
297
  - name: Set up Python
298
298
  id: setup-python
299
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
299
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
300
300
  with:
301
301
  # Do NOT use hard coded Python; extract from pyproject.toml
302
302
  python-version-file: 'pyproject.toml'
@@ -319,7 +319,7 @@ jobs:
319
319
  - name: 'Build Python project'
320
320
  id: python-build
321
321
  # yamllint disable-line rule:line-length
322
- uses: lfreleng-actions/python-build-action@1a1d011cd71e781f9b7896fc9a8c5653406a7758 # v2.1.0
322
+ uses: lfreleng-actions/python-build-action@3cdb6f8e3b9c6c8fb21cce123f7b873b3620273d # v2.1.1
323
323
 
324
324
  # Python tests with matrix strategy (after container pipeline)
325
325
  python-tests:
@@ -335,7 +335,7 @@ jobs:
335
335
  timeout-minutes: 12
336
336
  steps:
337
337
  # Harden the runner used by this workflow
338
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
338
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
339
339
  with:
340
340
  egress-policy: audit
341
341
 
@@ -346,7 +346,7 @@ jobs:
346
346
  # Setup Python with comprehensive caching
347
347
  - name: Set up Python
348
348
  id: setup-python
349
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
349
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
350
350
  with:
351
351
  python-version: ${{ matrix.python-version }}
352
352
  cache: 'pip'
@@ -368,7 +368,7 @@ jobs:
368
368
 
369
369
  - name: "Python tests [pytest] ${{ matrix.python-version }}"
370
370
  # yamllint disable-line rule:line-length
371
- uses: lfreleng-actions/python-test-action@88506b4bba4d2acd670ea3cc0bb6f976e0391d24 # v1.3.0
371
+ uses: lfreleng-actions/python-test-action@0c2fe7546faea2321e003c1c3b26a9156a7bc432 # v1.3.1
372
372
  with:
373
373
  python_version: ${{ matrix.python-version }}
374
374
 
@@ -386,7 +386,7 @@ jobs:
386
386
  timeout-minutes: 10
387
387
  steps:
388
388
  # Harden the runner used by this workflow
389
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
389
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
390
390
  with:
391
391
  egress-policy: 'audit'
392
392
 
@@ -397,7 +397,7 @@ jobs:
397
397
  # Setup Python with comprehensive caching
398
398
  - name: Set up Python
399
399
  id: setup-python
400
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
400
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
401
401
  with:
402
402
  python-version: ${{ matrix.python-version }}
403
403
  cache: 'pip'
@@ -419,7 +419,7 @@ jobs:
419
419
 
420
420
  - name: "Audit dependencies ${{ matrix.python-version }}"
421
421
  # yamllint disable-line rule:line-length
422
- uses: lfreleng-actions/python-audit-action@f823e631b562f7632730ab36ba0b59a724350d88 # v0.5.1
422
+ uses: lfreleng-actions/python-audit-action@47af793a2a28882b10ceb9109646cbbcecc2e7b0 # v0.6.1
423
423
  with:
424
424
  python_version: "${{ matrix.python-version }}"
425
425
 
@@ -434,7 +434,7 @@ jobs:
434
434
  timeout-minutes: 15
435
435
  steps:
436
436
  # Harden the runner used by this workflow
437
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
437
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
438
438
  with:
439
439
  egress-policy: 'audit'
440
440
 
@@ -445,7 +445,7 @@ jobs:
445
445
  # Setup Python with comprehensive caching
446
446
  - name: Set up Python
447
447
  id: setup-python
448
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
448
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
449
449
  with:
450
450
  python-version-file: 'pyproject.toml'
451
451
  cache: 'pip'
@@ -466,7 +466,7 @@ jobs:
466
466
  uv-cli-${{ runner.os }}-
467
467
 
468
468
  - name: Install UV
469
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
469
+ uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
470
470
 
471
471
  - name: Install project dependencies
472
472
  run: |
@@ -483,7 +483,7 @@ jobs:
483
483
  # Start go-httpbin service for testing
484
484
  - name: Setup go-httpbin service
485
485
  id: go-httpbin
486
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
486
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
487
487
  with:
488
488
  port: '8080'
489
489
  debug: 'true'
@@ -561,14 +561,14 @@ jobs:
561
561
  timeout-minutes: 10
562
562
  steps:
563
563
  # Harden the runner used by this workflow
564
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
564
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
565
565
  with:
566
566
  egress-policy: 'audit'
567
567
 
568
568
  # Start go-httpbin service for testing
569
569
  - name: Setup go-httpbin service
570
570
  id: go-httpbin
571
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
571
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
572
572
  with:
573
573
  port: '8080'
574
574
  debug: 'true'
@@ -618,14 +618,14 @@ jobs:
618
618
  timeout-minutes: 10
619
619
  steps:
620
620
  # Harden the runner used by this workflow
621
- - uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
621
+ - uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
622
622
  with:
623
623
  egress-policy: 'audit'
624
624
 
625
625
  # Start go-httpbin service for testing
626
626
  - name: Setup go-httpbin service
627
627
  id: go-httpbin
628
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
628
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
629
629
  with:
630
630
  port: '8080'
631
631
  debug: 'true'
@@ -730,14 +730,14 @@ jobs:
730
730
  steps:
731
731
  # Harden the runner used by this workflow
732
732
  - name: Harden Runner
733
- uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
733
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
734
734
  with:
735
735
  egress-policy: audit
736
736
 
737
737
  # Start go-httpbin service for testing
738
738
  - name: Setup go-httpbin service
739
739
  id: go-httpbin
740
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
740
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
741
741
  with:
742
742
  port: '8080'
743
743
  debug: 'true'
@@ -797,7 +797,7 @@ jobs:
797
797
  steps:
798
798
  # Harden the runner used by this workflow
799
799
  - name: Harden Runner
800
- uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
800
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
801
801
  with:
802
802
  egress-policy: audit
803
803
 
@@ -811,7 +811,7 @@ jobs:
811
811
 
812
812
  # Login to Container Registry
813
813
  - name: Login to Container Registry
814
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
814
+ uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
815
815
  with:
816
816
  registry: ${{ env.REGISTRY }}
817
817
  username: ${{ github.actor }}
@@ -829,7 +829,7 @@ jobs:
829
829
  # Start go-httpbin service for testing
830
830
  - name: Setup go-httpbin service
831
831
  id: go-httpbin
832
- uses: lfreleng-actions/go-httpbin-action@b0fcc716270b4975172449a293173e679773d17e # v0.1.6
832
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
833
833
  with:
834
834
  port: '8080'
835
835
  debug: 'true'
@@ -845,7 +845,7 @@ jobs:
845
845
 
846
846
  # Test the http-api-tool against go-httpbin with HTTPS
847
847
  docker run --rm --network host \
848
- -v "$GITHUB_WORKSPACE/$CA_BUNDLE:/tmp/ca-bundle.pem:ro" \
848
+ -v "$CA_BUNDLE:/tmp/ca-bundle.pem:ro" \
849
849
  "$IMAGE_TAG" \
850
850
  test \
851
851
  --url "$SERVICE_URL/get" \
@@ -872,7 +872,7 @@ jobs:
872
872
  steps:
873
873
  # Harden the runner
874
874
  - name: Harden Runner
875
- uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
875
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
876
876
  with:
877
877
  egress-policy: audit
878
878
 
@@ -883,7 +883,7 @@ jobs:
883
883
 
884
884
  # Setup Python with caching
885
885
  - name: Set up Python
886
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
886
+ uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
887
887
  with:
888
888
  # Do NOT use hard coded Python; extract from pyproject.toml
889
889
  python-version-file: 'pyproject.toml'
@@ -905,7 +905,7 @@ jobs:
905
905
 
906
906
  # Install UV
907
907
  - name: Install UV
908
- uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
908
+ uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
909
909
 
910
910
  # Install project dependencies with dev extras (includes bandit)
911
911
  - name: Install project dependencies
@@ -51,7 +51,7 @@ jobs:
51
51
  permissions:
52
52
  actions: write # list and delete repository Actions caches
53
53
  # yamllint disable-line rule:line-length
54
- uses: lfreleng-actions/generic-workflows/.github/workflows/clear-action-cache.yaml@42ee0a60963eede4169a7347f62da102bfc3b9b5 # v0.4.0
54
+ uses: lfreleng-actions/generic-workflows/.github/workflows/clear-action-cache.yaml@04672a980550ff9bd89d24bacd39fb03e25b0b0b # v0.6.1
55
55
  with:
56
56
  key_pattern: ${{ inputs.key_pattern }}
57
57
  ref_filter: ${{ inputs.ref_filter }}
@@ -22,12 +22,14 @@ concurrency:
22
22
  cancel-in-progress: true
23
23
 
24
24
  jobs:
25
- scan:
26
- name: 'Audit Repository'
27
- # yamllint disable-line rule:line-length
28
- uses: lfit/releng-reusable-workflows/.github/workflows/reuse-python-codeql.yaml@87eacd1f8322263ebbc1411ce2ea82bab10ed091 # v0.10.3
25
+ codeql:
26
+ name: 'CodeQL'
29
27
  permissions:
30
- security-events: write # Upload CodeQL results to code-scanning
31
- packages: read # Fetch internal or private CodeQL packs
32
- actions: read # Only required for workflows in private repositories
33
- contents: read
28
+ contents: read # checkout
29
+ security-events: write # upload results to code scanning
30
+ packages: read # fetch internal or private CodeQL packs
31
+ actions: read # the upload reads run info on private repositories
32
+ # yamllint disable-line rule:line-length
33
+ uses: lfreleng-actions/security-workflows/.github/workflows/codeql.yaml@378fcc19ebdf37f17fde4888d4b71c83b21d6cf3 # v0.9.7
34
+ with:
35
+ languages: 'python,actions'
@@ -28,13 +28,13 @@ jobs:
28
28
  openssf-scorecard:
29
29
  name: "OpenSSF Scorecard"
30
30
  # yamllint disable-line rule:line-length
31
- uses: lfit/releng-reusable-workflows/.github/workflows/reuse-openssf-scorecard.yaml@87eacd1f8322263ebbc1411ce2ea82bab10ed091 # v0.10.3
31
+ uses: lfreleng-actions/security-workflows/.github/workflows/openssf-scorecard.yaml@378fcc19ebdf37f17fde4888d4b71c83b21d6cf3 # v0.9.7
32
32
  # Scorecard uses no cache; deny writes under branch_protection_rule
33
33
  cache-mode: read
34
34
  permissions:
35
- contents: read # Read repository contents (checkout, etc.)
36
- # yamllint disable-line rule:line-length
37
- security-events: write # Upload results to the code-scanning dashboard
38
- id-token: write # Publish results and obtain Scorecard badge via OIDC
39
- # Uncomment the permission below if installing in a private repository.
40
- # actions: read
35
+ contents: read # checkout
36
+ security-events: write # upload results to the code scanning dashboard
37
+ id-token: write # publish results and obtain the badge, via OIDC
38
+ actions: read # upload-sarif reads run info on private repositories
39
+ # The lane's scan job requests only the scopes above, so granting
40
+ # more here has no effect, including on a private repository.
@@ -28,18 +28,18 @@ jobs:
28
28
  # organisation's .github repository and publish it as
29
29
  # $CONNECTION_ALLOW_LIST for the harden-runner step below.
30
30
  # yamllint disable-line rule:line-length
31
- - uses: lfreleng-actions/harden-runner-block-action@a32eb064a1188f6b0f15d2c0c0381efe54b0dd22 # v0.12.2
31
+ - uses: lfreleng-actions/harden-runner-block-action@d01dcdad980f826d4099289e2014126465580807 # v0.14.1
32
32
  with:
33
- config: '@18d9c4446bea555d0783e850f6d295f844fe8f67' # v0.1.1
33
+ config: '@6d4a65c5601afd6c2fbe52bda4b0024b132f265d' # v0.19.0
34
34
 
35
35
  # Harden the runner with the just-loaded allow-list.
36
36
  - name: 'Harden runner (block)'
37
37
  # yamllint disable-line rule:line-length
38
- uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
38
+ uses: step-security/harden-runner@46b06cea07f9e64621fdf066ba77ac6915163d43 # v2.22.3
39
39
  with:
40
40
  egress-policy: 'block'
41
41
  allowed-endpoints: >
42
42
  ${{ env.CONNECTION_ALLOW_LIST }}
43
43
 
44
44
  # yamllint disable-line rule:line-length
45
- - uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0
45
+ - uses: release-drafter/release-drafter@978bb0b30c5ee8cdd332ced253758157150d43f0 # v7.10.0
@@ -34,7 +34,7 @@ jobs:
34
34
  permissions:
35
35
  contents: read # Reusable scan job checks out the repo
36
36
  # yamllint disable-line rule:line-length
37
- uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonatype-lifecycle.yaml@87eacd1f8322263ebbc1411ce2ea82bab10ed091 # v0.10.3
37
+ uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonatype-lifecycle.yaml@e3bb02dd0d2e5027cde63732fe00f591d6ecec03 # v0.11.0
38
38
  # Neither scan writes a cache; deny writes under branch_protection_rule
39
39
  cache-mode: read
40
40
  secrets:
@@ -44,7 +44,7 @@ jobs:
44
44
  sonarqube-cloud:
45
45
  name: "SonarQube Cloud"
46
46
  # yamllint disable-line rule:line-length
47
- uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonarqube-cloud.yaml@87eacd1f8322263ebbc1411ce2ea82bab10ed091 # v0.10.3
47
+ uses: lfit/releng-reusable-workflows/.github/workflows/reuse-sonarqube-cloud.yaml@e3bb02dd0d2e5027cde63732fe00f591d6ecec03 # v0.11.0
48
48
  # Neither scan writes a cache; deny writes under branch_protection_rule
49
49
  cache-mode: read
50
50
  permissions:
@@ -73,7 +73,7 @@ repos:
73
73
  args: [--config-file=.yamllint]
74
74
 
75
75
  - repo: https://github.com/astral-sh/ruff-pre-commit
76
- rev: f12be1ebaa5351c1fc76472de98db2c3446c8253 # frozen: v0.16.10
76
+ rev: f368fb366ff7f2f808dd324b83a6d32267799e19 # frozen: v0.17.2
77
77
  hooks:
78
78
  - id: ruff
79
79
  files: ^(src|tests|scripts)/.+\.py$
@@ -106,7 +106,7 @@ repos:
106
106
  - id: shellcheck
107
107
 
108
108
  - repo: https://github.com/igorshubovych/markdownlint-cli
109
- rev: 5b5dddc4fb0f83c3ea1fc5616fa63e115dce83e0 # frozen: v0.49.1
109
+ rev: cbcdc463be5464e25e3e955a511599a67b9b987f # frozen: v0.50.0
110
110
  hooks:
111
111
  - id: markdownlint
112
112
  args: ["--fix"]
@@ -133,7 +133,7 @@ repos:
133
133
  - id: basedpyright
134
134
 
135
135
  - repo: https://github.com/lfreleng-actions/gha-workflow-linter
136
- rev: b23b60e5884e985320a030e6114032152e2373cd # frozen: v1.7.1
136
+ rev: 6431fe01a4f1b978de418160cc7caa6a24f6df76 # frozen: v1.10.0
137
137
  hooks:
138
138
  - id: gha-workflow-linter
139
139
  args: [lint, .]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: http-api-tool
3
- Version: 1.1.2
3
+ Version: 1.1.4
4
4
  Summary: A Python HTTP/HTTPS API testing tool for GitHub Actions and CLI usage
5
5
  Project-URL: Homepage, https://github.com/lfreleng-actions/http-api-tool-docker
6
6
  Project-URL: Repository, https://github.com/lfreleng-actions/http-api-tool-docker
@@ -18,7 +18,6 @@ Classifier: Intended Audience :: System Administrators
18
18
  Classifier: License :: OSI Approved :: Apache Software License
19
19
  Classifier: Operating System :: OS Independent
20
20
  Classifier: Programming Language :: Python :: 3
21
- Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
24
23
  Classifier: Programming Language :: Python :: 3.13
@@ -27,14 +26,14 @@ Classifier: Topic :: Internet :: WWW/HTTP
27
26
  Classifier: Topic :: Software Development :: Testing
28
27
  Classifier: Topic :: System :: Monitoring
29
28
  Classifier: Topic :: Utilities
30
- Requires-Python: >=3.10
29
+ Requires-Python: >=3.11
31
30
  Requires-Dist: certifi>=2025.6.15
32
31
  Requires-Dist: pycurl>=7.45.0
33
32
  Requires-Dist: requests>=2.32.4
34
33
  Requires-Dist: typer>=0.9.0
35
34
  Provides-Extra: dev
36
35
  Requires-Dist: bandit>=1.8.0; extra == 'dev'
37
- Requires-Dist: black>=24.0.0; extra == 'dev'
36
+ Requires-Dist: black>=26.10.1; extra == 'dev'
38
37
  Requires-Dist: coverage[toml]>=7.9.1; extra == 'dev'
39
38
  Requires-Dist: flake8>=7.0.0; extra == 'dev'
40
39
  Requires-Dist: interrogate>=1.5.0; extra == 'dev'
@@ -511,7 +510,7 @@ HTTPS testing service:
511
510
  ```yaml
512
511
  steps:
513
512
  - name: Setup go-httpbin HTTPS service
514
- uses: lfreleng-actions/go-httpbin-action@fd9c3701056fc2e667542ac66b4a63c44faea6c5 # v0.1.0
513
+ uses: lfreleng-actions/go-httpbin-action@692bf3b759b746041e9cc2eebec5a6006e6d6041 # v0.1.7
515
514
  id: httpbin
516
515
  with:
517
516
  debug: 'true'
@@ -521,7 +520,7 @@ steps:
521
520
  uses: lfreleng-actions/http-api-tool-docker@main
522
521
  with:
523
522
  url: 'https://localhost:8080/get'
524
- ca_bundle_path: 'mkcert-ca.pem'
523
+ ca_bundle_path: '${{ steps.httpbin.outputs.ca-cert-path }}'
525
524
  expected_http_code: '200'
526
525
  ```
527
526
 
@@ -594,7 +593,7 @@ uv run pytest tests/ -v
594
593
 
595
594
  ## Requirements
596
595
 
597
- - Python 3.10+
596
+ - Python 3.11+
598
597
  - UV (Fast Python package installer and resolver)
599
598
  - pycurl
600
599
  - typer (for CLI usage)