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.
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/dependabot.yml +4 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/build-test-release.yaml +70 -45
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/build-test.yaml +105 -68
- http_api_tool-1.1.0/.github/workflows/clear-action-cache.yaml +58 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/codeql.yml +4 -6
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/openssf-scorecard.yaml +9 -14
- http_api_tool-1.1.0/.github/workflows/release-drafter.yaml +45 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/workflows/security-scans.yaml +8 -8
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.pre-commit-config.yaml +10 -13
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/PKG-INFO +2 -2
- http_api_tool-1.1.0/SECURITY.md +77 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/action.yaml +57 -15
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/docker/Containerfile +4 -4
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/pyproject.toml +52 -1
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/scripts/check-pip-security.py +25 -19
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/src/http_api_tool/__init__.py +1 -2
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/src/http_api_tool/_version.py +2 -2
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/src/http_api_tool/cli.py +39 -48
- http_api_tool-1.1.0/src/http_api_tool/curl_client.py +230 -0
- http_api_tool-1.1.0/src/http_api_tool/reporting.py +130 -0
- http_api_tool-1.1.0/src/http_api_tool/sanitize.py +141 -0
- http_api_tool-1.1.0/src/http_api_tool/validation.py +109 -0
- http_api_tool-1.1.0/src/http_api_tool/verifier.py +271 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/tests/test_http_api_tool.py +83 -81
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/uv.lock +9 -9
- http_api_tool-1.0.6/.github/workflows/autolabeler.yaml +0 -59
- http_api_tool-1.0.6/.github/workflows/release-drafter.yaml +0 -35
- http_api_tool-1.0.6/.github/workflows/semantic-pull-request.yaml +0 -55
- http_api_tool-1.0.6/.github/workflows/verify-gha-versions.yaml +0 -29
- http_api_tool-1.0.6/src/http_api_tool/verifier.py +0 -792
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.actrc +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.codespell +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.dockerignore +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.editorconfig +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.github/cache-config.yaml +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.gitignore +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.gitlint +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.readthedocs.yml +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/.yamllint +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/CHANGELOG-v0.2.0.md +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/LICENSE +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/LICENSES/Apache-2.0.txt +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/README.md +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/REUSE.toml +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/UV-QUICK-REFERENCE.md +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/scripts/generate_requirements.py +0 -0
- {http_api_tool-1.0.6 → http_api_tool-1.1.0}/sonar-project.properties +0 -0
- {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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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="${
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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: ${
|
|
283
|
-
echo "Tool used: ${
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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: ${
|
|
424
|
-
echo "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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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="${
|
|
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@
|
|
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="${
|
|
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"
|