Personal engineering notes: how to verify a fix locally before opening a PR against a Metal3 (metal3-io) repository.
These are my own working notes, not official Metal3 documentation.
A "dry test" is a minimal, self-contained check you run before opening a PR, to confirm your fix handles the normal case, the edge case that caused the bug, and the zero/empty/missing case — without waiting for CI to tell you. The goal is to catch logic errors yourself, not in review, and not to burn a review cycle on something a 30-second local check would have caught.
guides/— reusable how-to, organized by what kind of change you made. This is the part you reach for on every PR.case-studies/— worked examples tied to real PRs, showing the technique applied.SETUP.md— one-time environment setup (WSL/ext4/CRLF). Do this first.checklists.md— the pre-commit checklist, what CI does that you can't, and PR conventions.
| You changed | Start here | The one-liner |
|---|---|---|
| A shell script | guides/shell-scripts.md |
bash -n script.sh |
| A Makefile | guides/makefiles.md |
make -n target |
| Go code | guides/go-code.md |
go build ./... |
| A dependency pin | guides/dependency-bumps.md |
stay on the same minor line |
- Go install checksum fix — baremetal-operator
- Namespace-strip fix in serial log collection — cluster-api-provider-metal3
- Replace container pull with
go install— ironic-standalone-operator