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

epugh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr-mcp.git


The following commit(s) were added to refs/heads/main by this push:
     new b1f3dfe6 ci: read the SBOM from build/reports/cyclonedx/ (#259)
b1f3dfe6 is described below

commit b1f3dfe609e89fd52cd03b0565dde055f3e9697d
Author: Aditya Parikh <[email protected]>
AuthorDate: Mon Oct 26 15:35:17 2026 -0400

    ci: read the SBOM from build/reports/cyclonedx/ (#259)
    
    cyclonedx 3.4.1 writes the SBOM to 
build/reports/cyclonedx/application.cdx.json
    (the path the license-notice plugin already reads), but both workflows still
    pointed at build/reports/application.cdx.json.
    
    - build-and-publish.yml: the "Upload SBOM artifact" step finds no file and,
      with upload-artifact's default if-no-files-found: warn, passes anyway. 
Runs
      on main produce no solr-mcp-sbom artifact.
    - release-publish.yml: the cp in "Attach SBOM to GitHub Release" fails, 
which
      fails publish-docker and skips publish-mcp-registry, which needs it.
    
    Point both at the real path and set if-no-files-found: error on both uploads
    so a future path change fails the build instead of dropping the artifact.
    
    Signed-off-by: Aditya Parikh <[email protected]>
    Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
---
 .github/workflows/build-and-publish.yml | 5 +++--
 .github/workflows/release-publish.yml   | 7 ++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/build-and-publish.yml 
b/.github/workflows/build-and-publish.yml
index c38e6e5d..7c9b3448 100644
--- a/.github/workflows/build-and-publish.yml
+++ b/.github/workflows/build-and-publish.yml
@@ -132,7 +132,7 @@ jobs:
                     retention-days: 7
 
             # Upload the CycloneDX SBOM produced during the build
-            # build/reports/application.cdx.json is generated by the cyclonedx
+            # build/reports/cyclonedx/application.cdx.json is generated by the 
cyclonedx
             # Gradle plugin and is also embedded in the bootable JAR. Retained
             # for 30 days (longer than the standard 7) because supply-chain
             # investigations often happen well after a build.
@@ -141,7 +141,8 @@ jobs:
                 uses: actions/upload-artifact@v4
                 with:
                     name: solr-mcp-sbom
-                    path: build/reports/application.cdx.json
+                    path: build/reports/cyclonedx/application.cdx.json
+                    if-no-files-found: error
                     retention-days: 30
 
             # Upload JUnit test results
diff --git a/.github/workflows/release-publish.yml 
b/.github/workflows/release-publish.yml
index f52f7717..f14bfd37 100644
--- a/.github/workflows/release-publish.yml
+++ b/.github/workflows/release-publish.yml
@@ -246,7 +246,7 @@ jobs:
       - name: Generate SBOM (Software Bill of Materials)
         # The CycloneDX plugin is wired in build.gradle.kts; bootJar already
         # depends on cyclonedxBom transitively. Running it explicitly here
-        # ensures build/reports/application.cdx.json exists for the upload
+        # ensures build/reports/cyclonedx/application.cdx.json exists for the 
upload
         # steps below even if the `Build project` step above used a cached
         # bootJar output.
         run: ./gradlew cyclonedxBom
@@ -258,7 +258,8 @@ jobs:
           # The release_version input is constrained by validate-release; safe 
to
           # interpolate into the artifact name.
           name: solr-mcp-sbom-${{ inputs.release_version }}
-          path: build/reports/application.cdx.json
+          path: build/reports/cyclonedx/application.cdx.json
+          if-no-files-found: error
           retention-days: 90
 
       - name: Attach SBOM to GitHub Release
@@ -271,7 +272,7 @@ jobs:
           RELEASE_VERSION: ${{ inputs.release_version }}
         run: |
           # Rename to include the version so the asset is unambiguous on the 
release page.
-          cp build/reports/application.cdx.json 
"solr-mcp-${RELEASE_VERSION}.cdx.json"
+          cp build/reports/cyclonedx/application.cdx.json 
"solr-mcp-${RELEASE_VERSION}.cdx.json"
           # --clobber lets re-runs of this workflow replace a previously 
uploaded SBOM.
           # If the v<version> GitHub Release does not exist yet, log and 
continue —
           # the workflow artifact above is still captured.

Reply via email to