sbomify logo

Big update to our GitHub Action

By Viktor > 04 OCT, 2024

In the last few weeks, we’ve worked hard on overhauling the sbomify GitHub Action based on customer feedback. The initial purpose of the GitHub Action module was merely to upload SBOMs to the sbomify platform. We’ve now broadened the scope to make it more powerful, with the goal of creating NTIA Minimum Elements compliant SBOMs directly in your CI/CD pipeline with minimal fuss.

As a refresher, the SBOM lifecycle looks like this:

Lifecycle

Notice that there are three required steps in the Authoring phase:

  • Generation
  • Augmentation
  • Enrichment

Thus, we’ve gone from being a simple upload tool to a complete SBOM Swiss Army knife, where we combine the best open-source tools in the industry to generate a complete SBOM. All you need to do is provide either an SBOM or a (supported) lockfile, and we take care of the rest.

This is what it looks like in your Actions YAML file:

      - name: Upload SBOM
        uses: sbomify/github-action@master
        env:
          TOKEN: 'my-token'
          COMPONENT_ID: 'my-component-id'
          SBOM_FILE: 'sbom-file.json'
          AUGMENT: true
          ENRICH: true

We didn’t stop there. You can also now use the action in stand-alone mode without sbomify to generate SBOMs:

      - name: Upload SBOM
        uses: sbomify/github-action@master
        env:
          TOKEN: 'placeholder'
          COMPONENT_ID: 'placeholder'
          LOCK_FILE: 'requirements.txt'
          AUGMENT: false
          ENRICH: true
          UPLOAD: false
          OUTPUT_FILE: 'my_sbom.cdx.json'

This will take the file requirements.txt, build an SBOM, then enrich the SBOM (using Parlay), and finally write the file my_sbom.cdx.json to disk.

Found an error or typo? File PR against this file.