Skip to content

Commit cab03ec

Browse files
committed
attestation-bundles
1 parent 1ea8a09 commit cab03ec

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

.github/workflows/create-release.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,17 @@ jobs:
6262
run: |
6363
python -m pypi_attestations inspect dist/*.publish.attestation
6464
65-
- name: Upload attestations bundles
65+
- name: Prepare attestation bundles for uploading
66+
run: |
67+
mkdir -p /tmp/attestation-bundles
68+
cp "${{ steps.attest.outputs.bundle-path }}" /tmp/attestation-bundles/
69+
cp dist/*.publish.attestation /tmp/attestation-bundles/
70+
71+
- name: Upload attestation bundles
6672
uses: actions/upload-artifact@v4
6773
with:
68-
name: attestations
69-
path: |
70-
${{ steps.attest.outputs.bundle-path }}
71-
dist/*.publish.attestation
74+
name: attestation-bundles
75+
path: /tmp/attestation-bundles/
7276

7377
- name: Mint PyPI API token
7478
id: mint-token

utils/convert_attestations.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
See https://github.com/trailofbits/pypi-attestations.
44
"""
55

6-
import base64
76
import json
87
import sys
8+
from base64 import b64decode
99
from pathlib import Path
1010

1111
from pypi_attestations import Attestation, Distribution
@@ -19,7 +19,7 @@
1919

2020
for line in bundle_path.read_bytes().splitlines():
2121
dsse_envelope_payload = json.loads(line)['dsseEnvelope']['payload']
22-
subjects = json.loads(base64.b64decode(dsse_envelope_payload))['subject']
22+
subjects = json.loads(b64decode(dsse_envelope_payload))['subject']
2323
for subject in subjects:
2424
filename = subject['name']
2525
assert (DIST / filename).is_file()
@@ -28,7 +28,6 @@
2828
print(f'Converting attestation for {filename}')
2929
sigstore_bundle = Bundle.from_json(line)
3030
attestation = Attestation.from_bundle(sigstore_bundle)
31-
print(attestation.model_dump_json())
3231
attestation_path = DIST / f'{filename}.publish.attestation'
3332
attestation_path.write_text(attestation.model_dump_json())
3433
print(f'Attestation for {filename} written to {attestation_path}')

0 commit comments

Comments
 (0)