Files
pretix_original/.github/workflows/sbom.yml
T
2026-07-30 21:14:42 +02:00

54 lines
1.8 KiB
YAML

name: SBOM
on:
push:
branches: [ master, sbom ]
tags: [ 'v.*' ]
permissions:
contents: read # to fetch code (actions/checkout)
env:
FORCE_COLOR: 1
jobs:
test:
runs-on: ubuntu-22.04
name: Submission
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install system dependencies
run: sudo apt update && sudo apt install -y gettext unzip
- name: Install node dependencies
run: sudo npm install --global @cyclonedx/cyclonedx-npm
- name: Install CycloneDX CLI
run: wget https://github.com/CycloneDX/cyclonedx-cli/releases/download/v0.32.0/cyclonedx-linux-x64 && chmod +x cyclonedx-linux-x64
- name: Install Python dependencies
run: pip3 install -U uv cyclonedx-bom prisma-sbom-submit
- name: Create empty environment
run: uv venv sbom-env
- name: Install package
run: uv pip install --python ./sbom-env/bin/python .
- name: Create Python SBOM
run: cyclonedx-py environment sbom-env > sbom-python.json
- name: Install node dependencies
run: npm ci
- name: Create JavaScript SBOM
run: cyclonedx-npm > sbom-npm.json
- name: Merge SBOMs
run: ./cyclonedx-linux-x64 merge --input-files sbom-python.json sbom-npm.json --output-format json --output-file sbom.json
- name: Submit SBOM
run: prisma-sbom-submit --server https://prisma.pretix.com sbom.json
env:
PRISMA_UPLOAD_TOKEN: ${{ secrets.PRISMA_UPLOAD_TOKEN }}