Skip to content

Commit df13937

Browse files
author
Dmitrii Vasilev
committed
ci: add OpenSSF Scorecard, SBOM, and release signing workflows (#1141)
- scorecard.yml: weekly Scorecard analysis with SARIF upload - sbom.yml: SPDX SBOM generation on release via syft - sign-release.yml: cosign/sigstore signing of release artifacts Closes #1141
1 parent 1789e2c commit df13937

4 files changed

Lines changed: 125 additions & 0 deletions

File tree

.github/workflows/sbom.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# SPDX SBOM generation on release
2+
# Issue: #1141
3+
name: Generate SBOM
4+
on:
5+
release:
6+
types: [published]
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
id-token: write
12+
13+
jobs:
14+
sbom:
15+
name: Generate and upload SBOM
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Generate SBOM with syft
22+
uses: anchore/sbom-action@v0
23+
with:
24+
format: spdx-json
25+
output-file: trinity-sbom.spdx.json
26+
artifact-name: trinity-sbom
27+
28+
- name: Upload SBOM to release
29+
uses: softprops/action-gh-release@v2
30+
if: github.event_name == 'release'
31+
with:
32+
files: trinity-sbom.spdx.json

.github/workflows/scorecard.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# OpenSSF Scorecard workflow
2+
# See: https://github.com/ossf/scorecard
3+
# Issue: #1141
4+
name: OpenSSF Scorecard
5+
on:
6+
branch_protection_rule:
7+
schedule:
8+
- cron: '0 9 * * 1'
9+
push:
10+
branches: [master, main]
11+
workflow_dispatch:
12+
13+
permissions: read-all
14+
15+
jobs:
16+
analysis:
17+
name: Scorecard analysis
18+
runs-on: ubuntu-latest
19+
permissions:
20+
security-events: write
21+
id-token: write
22+
contents: read
23+
actions: read
24+
25+
steps:
26+
- name: Checkout code
27+
uses: actions/checkout@v4
28+
with:
29+
persist-credentials: false
30+
31+
- name: Run analysis
32+
uses: ossf/scorecard-action@v2.3.3
33+
with:
34+
results_file: results.sarif
35+
results_format: sarif
36+
publish_results: true
37+
38+
- name: Upload artifact
39+
uses: actions/upload-artifact@v4
40+
with:
41+
name: Scorecard SARIF
42+
path: results.sarif
43+
44+
- name: Upload to GitHub Security tab
45+
uses: github/codeql-action/upload-sarif@v3
46+
with:
47+
sarif_file: results.sarif

.github/workflows/sign-release.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Cosign/sigstore release artifact signing
2+
# Issue: #1141
3+
name: Sign Release
4+
on:
5+
release:
6+
types: [published]
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
id-token: write
12+
packages: write
13+
14+
jobs:
15+
sign:
16+
name: Sign release artifacts
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Install cosign
20+
uses: sigstore/cosign-installer@v3.5.0
21+
22+
- name: Download release assets
23+
uses: robinraju/release-downloader@v1.10
24+
with:
25+
latest: true
26+
fileName: '*'
27+
tarBall: true
28+
zipBall: true
29+
out-file-path: 'assets'
30+
31+
- name: Sign artifacts with cosign
32+
run: |
33+
for f in assets/*; do
34+
cosign sign-blob --yes "$f" --output-signature="${f}.sig" --output-certificate="${f}.cert"
35+
done
36+
env:
37+
COSIGN_EXPERIMENTAL: 1
38+
39+
- name: Upload signatures to release
40+
uses: softprops/action-gh-release@v2
41+
with:
42+
files: assets/*.sig,assets/*.cert

.trinity/current_task/activity.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,3 +384,7 @@
384384
- **Commit:** spec: fix gf16_round rounding comment + broken test (Zig @round = ties-away, not ties-even)
385385
- **Files:** .claude/scheduled_tasks.lock,.trinity/current_task/.commit_count,.trinity/current_task/session_log.jsonl,.trinity/seals/compiler_seal_2026_06_16.txt,NOW.md~Stashed changes,NOW.md~Stashed changes_0,NOW.md~Stashed changes_1,NOW_FULL.md,bootstrap/src/compiler.rs,bootstrap/src/proxy.rs,bootstrap/src/ternary/mod.rs,bootstrap/stage0/FROZEN_HASH,cli/flash-spi/src/main.rs,docs/WAVE_LOOP_REPORT_2026_06_16.md,docs/WAVE_LOOP_REPORT_2026_06_16_ITER2.md,docs/WAVE_LOOP_REPORT_2026_06_16_ITER3.md,docs/WAVE_LOOP_REPORT_2026_06_16_ITER4.md,docs/gf14_conformance_blocker.md,docs/retroactive_issue_mapping_2026_06_16.md,fpga/tools/bscan_spi_xc7a100t_fgg676.bit
386386

387+
## 2026-06-16T13:20:48Z — trinity-rust-rings
388+
- **Commit:** fix(bootstrap): resolve compiler.rs duplicate impl, proxy test cfg, ternary round-trip, flash-spi opts
389+
- **Files:** .github/workflows/sbom.yml,.github/workflows/scorecard.yml,.github/workflows/sign-release.yml
390+

0 commit comments

Comments
 (0)