Skip to content

infra([DST-633]): setup dependency track #7

infra([DST-633]): setup dependency track

infra([DST-633]): setup dependency track #7

name: Generate and Upload SBOM to Dependency-Track
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
generate-and-upload-sbom:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the code
- name: Checkout Code
uses: actions/checkout@v3
# Step 2: Set up Node.js
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20' # Use the desired Node.js version
# Step 3: Install cdxgen
- name: Install cdxgen
run: |
npm install -g @cyclonedx/cdxgen
# Step 4: Upload SBOM to Dependency-Track
- name: Upload SBOM to Dependency-Track
env:
DEPENDENCY_TRACK_API_KEY: ${{ secrets.DEPENDENCY_TRACK_API_KEY }}
DEPENDENCY_TRACK_SERVER: ${{ secrets.DEPENDENCY_TRACK_SERVER }}
DEPENDENCY_TRACK_PROJECT_NAME: ${{ secrets.DEPENDENCY_TRACK_PROJECT_NAME }}
DEPENDENCY_TRACK_PARENT_PROJECT: ${{ secrets.DEPENDENCY_TRACK_PARENT_PROJECT }}
DEPENDENCY_TRACK_PROJECT_VERSION: ${{ secrets.DEPENDENCY_TRACK_PROJECT_VERSION }}
DEPENDENCY_TRACK_FILE: ${{ secrets.DEPENDENCY_TRACK_FILE }}
run: |
cdxgen -r -o bom.json \
--server-url $DEPENDENCY_TRACK_SERVER \
--api-key $DEPENDENCY_TRACK_API_KEY \
--project-name $DEPENDENCY_TRACK_PROJECT_NAME \
--project-version $DEPENDENCY_TRACK_PROJECT_VERSION \
--parent-project-id $DEPENDENCY_TRACK_PARENT_PROJECT