Skip to content

chore(ci): bump go-FuSa pin from v0.30.0 to v0.36.0 - #49

Merged
SoundMatt merged 1 commit into
mainfrom
chore/gofusa-v0.36.0
Jul 28, 2026
Merged

chore(ci): bump go-FuSa pin from v0.30.0 to v0.36.0#49
SoundMatt merged 1 commit into
mainfrom
chore/gofusa-v0.36.0

Conversation

@SoundMatt

Copy link
Copy Markdown
Owner

Closes #48

Summary

  • Bumps the pinned go-FuSa version in both .github/workflows/ci.yml (gofusa job) and .github/workflows/release.yml (regenerate-safety-artifacts job) from v0.30.0 to v0.36.0.
  • v0.36.0 adopts x-FuSa spec v1.13.0/v1.14.0 schema conformance. Relevant to this repo: safetyGoals[].fssrRefs is now a []string (MUST, ≥1 entry), replacing the field this repo previously called requirements. Migrated .fusa-hara.json's five safety goals from requirements to fssrRefs — all referenced requirement ids (REQ-SAFETY-001, REQ-SEC-001, REQ-VIRT-004, etc.) are already registered in .fusa-reqs.json, so this is a rename, not new content.
  • v0.36.0 also adds a new content-quality baseline (stubcheck package, rules FUSA-STUB001/FUSA-STUB002). Verified it raises no findings against this repo's evidence files.

Verification

Installed gofusa@v0.36.0 locally and ran every gofusa step from both workflows against this branch:

ci.yml (gofusa job):

  • gofusa check ./... — exit 0, 0 errors (222 warnings / 142 infos, pre-existing categories — LINT/CYBER/ANA/etc.)
  • gofusa trace -req-coverage 100 — 100% (94/94 requirements traced, 67/67 functions annotated)
  • gofusa cyber — exit 0, 0 errors
  • gofusa vuln — exit 0, 0 findings
  • gofusa qualify — exit 0, 46/46 qualification cases passed

release.yml (regenerate-safety-artifacts job, all steps):
fmea -cyber, check, cyber, tara, verify, coverage, boundary, sci, safety-case, release, iec61508, iso26262 all exit 0. iec62443 reported 1 gap (provenance.json missing builder field) only because it was run outside GITHUB_ACTIONS locally — that field auto-populates from GITHUB_ACTIONS/GITHUB_WORKFLOW_REF in real CI, and the workflow step already runs with || true regardless, so it wouldn't fail the job either way.

No bug found in go-FuSa itself — the schema change is intentional and well-documented in its v0.36.0 PR (SoundMatt/go-FuSa#55), and this repo's evidence file just needed the corresponding field rename.

Convention check

Reviewed recent history for similar CI/tooling-pin changes (fix(ci): allow non-zero exit from gofusa gap report commands, fix(ci): fix YAML parse error in release workflow commit message, etc.) — none of these got a version bump/tag of their own; they were plain merges to main. Following that convention here: no tag for this PR.

v0.36.0 adopts x-FuSa spec v1.13.0/v1.14.0 schema conformance, including
safetyGoals[].fssrRefs (MUST, >=1 entry) replacing the old singular
fssrRef/requirements field. Migrate .fusa-hara.json's five safety goals
from "requirements" to "fssrRefs" so HARA006/HARA007 stay green — all
referenced requirement ids are already registered in .fusa-reqs.json.

Verified locally against the pinned binary: check, trace, cyber, vuln,
and qualify all exit 0 (0 errors); the new v0.36.0 stubcheck content-quality
rules (FUSA-STUB001/002) raise no findings on this repo's evidence files.

Closes #48

Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
@SoundMatt
SoundMatt merged commit 49b8bf1 into main Jul 28, 2026
14 checks passed
@SoundMatt
SoundMatt deleted the chore/gofusa-v0.36.0 branch July 28, 2026 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update go-FuSa pin from v0.30.0 to v0.36.0

1 participant