mirror of
https://github.com/pretix/pretix.git
synced 2026-08-08 10:27:49 +00:00
54 lines
1.8 KiB
YAML
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 }}
|