Repository navigation
refactor: consolidate IPMI source and packaging under addons/ipmi - #498
Conversation
Build outputsCompared with the build of main at 182a9df; main is at 14fde0e, so outputs changed since then are listed too. 2 changed, 180 added, 180 removed of 570 outputs.
|
dormancygrace
left a comment
There was a problem hiding this comment.
The move is clean.
- The add-on module builds for riscv64 and passes
go vetandgo test. go mod tidy -diffis clean, and no old import path remains.- The add-on Python tests pass.
go.packageresolves now thatbuild_goruns in the recipe directory.
One coverage gap and a stale doc:
firmware/alpine/packages/README.md(around lines 161–164, not in this diff) still says the IPMI recipe lives there and is a Go program ofserver/.
dormancygrace
left a comment
There was a problem hiding this comment.
Reviewed the module split, import changes, shared BMC API placement and package build paths. The protocol/crypto and service files retain their previous implementation. Fixed the lost IPMI CodeQL build coverage and added explicit vet/race steps for the new module; updated the stale package documentation. Add-on build/recipe tests, IPMI build/vet/race, server BMC/Redfish/service race tests and the CodeQL server build all pass. Leaving this PR open because restoring security analysis coverage is a substantive correction.
dormancygrace
left a comment
There was a problem hiding this comment.
Rechecked the IPMI module/package relocation and restored analysis coverage on current main. Resolved the Dependabot configuration conflict by retaining both the pinned Gorilla exclusion and the local BMC module exclusion. Real add-on build tests, IPMI race/vet, shared BMC/Redfish/service race tests and both CodeQL Go build commands pass. Final-head CI passes; the Publish release job is intentionally skipped for pull requests and was not invoked. No behavior defect found in the moved implementation.
The IPMI add-on was split across server/cmd, server/internal and firmware/alpine/packages, while RustDesk already lived under addons/.
Move the IPMI daemon, protocol implementation/tests, recipe and lifecycle scripts into
addons/ipmi/as a separate Go module. Expose the existing shared BMC package asserver/pkg/bmcso IPMI and the server's Redfish implementation continue using one copy. The add-on references that package through a local module replacement at the same checkout revision.Update the APK builder, release workflow paths, Go CI matrix, Dependabot and developer documentation. Package name/version, minimum OS dependency, installed paths, configuration and lifecycle scripts remain unchanged. Protocol and shared BMC implementation files are byte-for-byte moves.
Validation:
teststub,nomsgpack.No device deployment or package publication. Please keep this PR unmerged for review.