Skip to content

docs(changelog): add security fix references for 1.2.31 #352

docs(changelog): add security fix references for 1.2.31

docs(changelog): add security fix references for 1.2.31 #352

Workflow file for this run

name: Security Proof Guardrails
on:
push:
branches: [develop, 1.2.x]
pull_request:
branches: [develop, 1.2.x]
workflow_dispatch:
inputs:
repo_name:
description: "Repository to query for advisory source data (owner/name)"
required: false
default: "Cacti/cacti"
branch_list:
description: "Space-separated branch list to evaluate"
required: false
default: "1.2.x develop"
strict_gate:
description: "Fail run when unresolved advisories remain"
required: false
default: "false"
permissions:
contents: read
concurrency:
group: security-proof-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
sink-inventory-guard:
name: sink and architectural hotspot guard
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install ripgrep
run: sudo apt-get install -y ripgrep
- name: Verify tracked sink baseline
run: tests/security/verify_sink_inventory.sh
- name: Verify no new architectural hotspots
run: tests/security/verify_architectural_hotspots.sh
advisory-proof-matrix:
name: private advisory proof matrix
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Build proof matrix
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -euo pipefail
out_dir="security/proof-run/${GITHUB_RUN_ID}"
mkdir -p "${out_dir}"
tests/security/build_private_advisory_matrix.sh \
"${{ inputs.repo_name }}" \
"${{ inputs.branch_list }}" \
"${out_dir}"
tests/security/build_sink_inventory.sh > "${out_dir}/sink_inventory.current.tsv"
tests/security/build_architectural_helper_report.sh --summary > "${out_dir}/architectural_helper.summary.tsv"
tests/security/build_architectural_helper_report.sh --hotspots > "${out_dir}/architectural_helper.hotspots.tsv"
- name: Enforce closure gate
if: inputs.strict_gate == 'true'
run: |
set -euo pipefail
tests/security/verify_private_advisory_matrix.sh "security/proof-run/${GITHUB_RUN_ID}/private_advisory_proof_matrix.tsv"
- name: Upload proof artifacts
uses: actions/upload-artifact@v4
with:
name: private-advisory-proof-${{ github.run_id }}
path: security/proof-run/${{ github.run_id }}
if-no-files-found: error