Skip to content

Commit b12479f

Browse files
authored
Add support for Sigstore bundle files (#2247)
1 parent fad14cb commit b12479f

File tree

6 files changed

+33
-4
lines changed

6 files changed

+33
-4
lines changed

downloads/api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class Meta(GenericResource.Meta):
6969
'creator', 'last_modified_by',
7070
'os', 'release', 'description', 'is_source', 'url', 'gpg_signature_file',
7171
'md5_sum', 'filesize', 'download_button', 'sigstore_signature_file',
72-
'sigstore_cert_file',
72+
'sigstore_cert_file', 'sigstore_bundle_file',
7373
]
7474
filtering = {
7575
'name': ('exact',),
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 2.2.24 on 2023-02-14 21:14
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('downloads', '0008_auto_20220907_2102'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='releasefile',
15+
name='sigstore_bundle_file',
16+
field=models.URLField(blank=True, help_text='Sigstore Bundle URL', verbose_name='Sigstore Bundle URL'),
17+
),
18+
]

downloads/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,9 @@ class ReleaseFile(ContentManageable, NameSlugModel):
329329
sigstore_cert_file = models.URLField(
330330
"Sigstore Cert URL", blank=True, help_text="Sigstore Cert URL"
331331
)
332+
sigstore_bundle_file = models.URLField(
333+
"Sigstore Bundle URL", blank=True, help_text="Sigstore Bundle URL"
334+
)
332335
md5_sum = models.CharField('MD5 Sum', max_length=200, blank=True)
333336
filesize = models.IntegerField(default=0)
334337
download_button = models.BooleanField(default=False, help_text="Use for the supernav download button for this OS")

downloads/serializers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,5 @@ class Meta:
4848
'resource_uri',
4949
'sigstore_signature_file',
5050
'sigstore_cert_file',
51+
'sigstore_bundle_file',
5152
)

downloads/templatetags/download_tags.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,7 @@ def strip_minor_version(version):
1010

1111
@register.filter
1212
def has_sigstore_materials(files):
13-
return any(f.sigstore_cert_file or f.sigstore_signature_file for f in files)
13+
return any(
14+
f.sigstore_bundle_file or f.sigstore_cert_file or f.sigstore_signature_file
15+
for f in files
16+
)

templates/downloads/release_detail.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,12 @@ <h1 class="page-title">Files</h1>
6565
<td>{{ f.filesize }}</td>
6666
<td>{% if f.gpg_signature_file %}<a href="{{ f.gpg_signature_file }}">SIG</a>{% endif %}</td>
6767
{% if release_files|has_sigstore_materials %}
68-
<td>{% if f.sigstore_cert_file %}<a href="{{ f.sigstore_cert_file}}">CRT</a>{% endif %}</td>
69-
<td>{% if f.sigstore_signature_file %}<a href="{{ f.sigstore_signature_file }}">SIG</a>{% endif %}</td>
68+
{% if f.sigstore_bundle_file %}
69+
<td colspan="2">{% if f.sigstore_bundle_file %}<a href="{{ f.sigstore_bundle_file}}">.sigstore</a>{% endif %}</td>
70+
{% else %}
71+
<td>{% if f.sigstore_cert_file %}<a href="{{ f.sigstore_cert_file}}">CRT</a>{% endif %}</td>
72+
<td>{% if f.sigstore_signature_file %}<a href="{{ f.sigstore_signature_file }}">SIG</a>{% endif %}</td>
73+
{% endif %}
7074
{% endif %}
7175
</tr>
7276
{% endfor %}

0 commit comments

Comments
 (0)