Skip to content

feat: add Keycloak and delegate SBOM generation to sbomify action#7

Merged
vpetersson merged 8 commits intomasterfrom
keycloak
Jan 5, 2026
Merged

feat: add Keycloak and delegate SBOM generation to sbomify action#7
vpetersson merged 8 commits intomasterfrom
keycloak

Conversation

@vpetersson
Copy link
Contributor

Add Keycloak v26.4.7 using lockfile source (pom.xml from GitHub).

Refactor lockfile handling to delegate SBOM generation to the sbomify GitHub Action instead of running cdxgen/syft locally:

  • Remove cdxgen installation from workflow for lockfile sources
  • Update sbom-builder.yml to pass LOCK_FILE to sbomify action
  • Simplify lockfile-generator.sh to only download lockfiles
  • Add separate workflow steps for SBOM vs lockfile sources

New files:

  • apps/keycloak/config.yaml
  • .github/workflows/sbom-keycloak.yml

Updated documentation to reflect that SBOM generation from lockfiles is now handled by the sbomify GitHub Action.

Add Keycloak v26.4.7 using lockfile source (pom.xml from GitHub).

Refactor lockfile handling to delegate SBOM generation to the sbomify
GitHub Action instead of running cdxgen/syft locally:

- Remove cdxgen installation from workflow for lockfile sources
- Update sbom-builder.yml to pass LOCK_FILE to sbomify action
- Simplify lockfile-generator.sh to only download lockfiles
- Add separate workflow steps for SBOM vs lockfile sources

New files:
- apps/keycloak/config.yaml
- .github/workflows/sbom-keycloak.yml

Updated documentation to reflect that SBOM generation from lockfiles
is now handled by the sbomify GitHub Action.
Overhaul keycloak SBOM generation to properly resolve Maven dependencies:

- Add post_clone_commands support to lockfile source type, allowing
  arbitrary commands to run after cloning (e.g., Maven builds)
- Add get_config_array helper to common.sh for reading YAML arrays
- Add Maven dependency caching (~/.m2/repository) to workflow for
  faster subsequent builds
- Update keycloak config to:
  - Use quarkus/runtime/pom.xml as the lockfile target
  - Run Maven install to resolve dependencies before SBOM generation

The Maven build uses -DskipTestsuite -DskipExamples -DskipTests flags
to minimize build time while still resolving the full dependency tree.
- Suppress git detached HEAD advice during clone
- Remove verbose ls output from fetch step
@vpetersson vpetersson requested a review from Copilot January 5, 2026 13:59
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for Keycloak SBOM generation and refactors lockfile handling to delegate SBOM generation to the sbomify GitHub Action instead of running cdxgen/syft locally.

Key changes:

  • Added Keycloak v26.4.7 with both backend (Maven) and JS (pnpm) configurations
  • Refactored lockfile-generator.sh to only download/clone lockfiles, removing local SBOM generation logic
  • Updated workflow to support separate handling of SBOM vs lockfile sources with the sbomify action

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
scripts/sources/lockfile-generator.sh Simplified to download lockfiles or clone repos; removed cdxgen/syft generation logic
scripts/sources/github-release.sh Added shellcheck directives for linting
scripts/sources/docker-attestation.sh Added shellcheck directives for linting
scripts/sources/chainguard.sh Added shellcheck directives for linting
scripts/lib/common.sh Added get_config_array function to read array values from config
scripts/fetch-sbom.sh Added logging for lockfile vs SBOM sources; added shellcheck directives
apps/keycloak/config.yaml New Keycloak backend configuration using Maven pom.xml with clone and build steps
apps/keycloak-js/config.yaml New Keycloak JS configuration using pnpm-lock.yaml
README.md Updated documentation to reflect lockfile handling changes
.github/workflows/sbom-keycloak.yml New workflow for Keycloak backend SBOM generation
.github/workflows/sbom-keycloak-js.yml New workflow for Keycloak JS SBOM generation
.github/workflows/sbom-builder.yml Added lockfile source handling, Maven caching, and separate upload steps for lockfiles

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@vpetersson vpetersson merged commit e23a970 into master Jan 5, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant