You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/12/07 22:17:47 UTC

(camel-website) branch main updated: feat: add SBOM downloads based on cut-off date (#1097)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-website.git


The following commit(s) were added to refs/heads/main by this push:
     new f62038f0 feat: add SBOM downloads based on cut-off date (#1097)
f62038f0 is described below

commit f62038f02d55469a8831c818883049250f48e68e
Author: Zoran Regvart <zo...@regvart.com>
AuthorDate: Thu Dec 7 23:17:41 2023 +0100

    feat: add SBOM downloads based on cut-off date (#1097)
    
    With this the SBOM downloads will be available for any release created
    after 2023-10-11. Both JSON and XML download links will be available.
    The Apache conventions for distributing these via dist.apache.org must
    be followed, so .asc and .sha512 files must be present in addition to
    the .json and .xml SBOM files.
    
    Resolves #1096
---
 data/release-categories.yaml             | 18 ++++++++++++++++++
 layouts/partials/releases/downloads.html | 21 ++++++++++++++++-----
 2 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/data/release-categories.yaml b/data/release-categories.yaml
index b5817ead..bd436022 100644
--- a/data/release-categories.yaml
+++ b/data/release-categories.yaml
@@ -36,6 +36,12 @@ camel:
     - name: 'Sources'
       path_format: 'camel/apache-camel/{version}/apache-camel-{version}-src.zip'
       filename_format: 'apache-camel-{version}-src.zip'
+    - name: 'SBOM, CycloneDX XML'
+      path_format: 'camel/apache-camel/{version}/apache-camel-{version}-sbom.xml'
+      filename_format: 'apache-camel-{version}-sbom.xml'
+    - name: 'SBOM, CycloneDX JSON'
+      path_format: 'camel/apache-camel/{version}/apache-camel-{version}-sbom.json'
+      filename_format: 'apache-camel-{version}-sbom.json'
 camel-k:
   id: 'camel-k'
   name: 'Apache Camel-K'
@@ -72,6 +78,12 @@ camel-kamelets:
     - name: 'Sources'
       path_format: 'camel/camel-kamelets/{version}/camel-kamelets-sources-{version}.tar.gz'
       filename_format: 'camel-kamelets-sources-{version}.tar.gz'
+    - name: 'SBOM, CycloneDX XML'
+      path_format: 'camel/camel-kamelets/{version}/camel-kamelets-{version}-sbom.xml'
+      filename_format: 'camel-kamelets-{version}-sbom.xml'
+    - name: 'SBOM, CycloneDX JSON'
+      path_format: 'camel/camel-kamelets/{version}/camel-kamelets-{version}-sbom.json'
+      filename_format: 'camel-kamelets-{version}-sbom.json'
 camel-kafka-connector:
   id: 'camel-kafka-connector'
   name: 'Apache Camel Kafka Connector'
@@ -97,3 +109,9 @@ camel-quarkus:
     - name: 'Sources'
       path_format: 'camel/camel-quarkus/{version}/apache-camel-quarkus-{version}-src.zip'
       filename_format: 'apache-camel-quarkus-{version}-src.zip'
+    - name: 'SBOM, CycloneDX XML'
+      path_format: 'camel/camel-quarkus/{version}/apache-camel-quarkus-{version}-sbom.xml'
+      filename_format: 'apache-camel-quarkus-{version}-sbom.xml'
+    - name: 'SBOM, CycloneDX JSON'
+      path_format: 'camel/camel-quarkus/{version}/apache-camel-quarkus-{version}-sbom.json'
+      filename_format: 'apache-camel-quarkus-{version}-sbom.json'
diff --git a/layouts/partials/releases/downloads.html b/layouts/partials/releases/downloads.html
index 41a1112f..434586f4 100644
--- a/layouts/partials/releases/downloads.html
+++ b/layouts/partials/releases/downloads.html
@@ -1,6 +1,9 @@
 {{/* after 2018-11-10 we started using SHA512 */}}
 {{ $sha1_cutoff := time "2018-11-10" }}
 
+{{/* from 2023-11-14 all releases have SBOM downloads */}}
+{{ $sbom_cutoff := time "2023-11-14" }}
+
 {{/* default base URLs for current releases */}}
 {{ $artifact_base_url := "https://www.apache.org/dyn/closer.lua/" }}
 {{ $meta_base_url := "https://downloads.apache.org/" }}
@@ -128,14 +131,22 @@
         {{ range $kind, $v := $version }}
             {{ $release_note := (index (where (where (where $.Pages "Section" "releases") ".Params.category" $.Category.id) ".Params.version" $v) 0) }}
             {{ $hash_extension := ".sha512" }}
+            {{ $hash_name := "SHA512" }}
             {{ if le $release_note.Date $sha1_cutoff }}
                 {{ $hash_extension = ".sha1" }}
+                {{ $hash_name = "SHA1" }}
+            {{ end }}
+            {{ $downloads := $.Category.downloads}}
+            {{ if lt $release_note.Date $sbom_cutoff }}
+                {{/* removes SBOM downloads based on the cutoff date */}}
+                {{ $downloads = collections.Where $downloads "name" "not in" "SBOM, CycloneDX XML" }} {{/* must match the name in data/release-categories.yaml */}}
+                {{ $downloads = collections.Where $downloads "name" "not in" "SBOM, CycloneDX JSON" }} {{/* must match the name in data/release-categories.yaml */}}
             {{ end }}
 
             <tr>
                 {{ if eq $.Section "download" }}
-                    {{ if gt (len $.Category.downloads) 1 }}
-                    <td rowspan="{{ len $.Category.downloads }}">
+                    {{ if gt (len $downloads) 1 }}
+                    <td rowspan="{{ len $downloads }}">
                     {{ else }}
                     <td>
                     {{ end }}
@@ -145,8 +156,8 @@
                             <em class="kind">{{ . }}</em>
                         {{ end }}
                     </td>
-                    {{ if gt (len $.Category.downloads) 1 }}
-                    <td rowspan="{{ len $.Category.downloads }}">
+                    {{ if gt (len $downloads) 1 }}
+                    <td rowspan="{{ len $downloads }}">
                     {{ else }}
                     <td>
                     {{ end }}
@@ -164,7 +175,7 @@
                         {{ end }}
                     </td>
                 {{ end }}
-                {{ range $idx, $download := $.Category.downloads }}
+                {{ range $idx, $download := $downloads }}
                     {{ if ne $idx 0 }}
                     </tr><tr>
                     {{ end }}