Welcome, and thank you for your interest in contributing to the HAMi amd-device-plugin. This guide explains how to propose changes.
This project follows the HAMi community Code of Conduct. By participating you are expected to uphold it.
-
Read ONBOARDING.md for what the plugin does and how it is deployed, and STATUS.md for what is done and what is left.
-
The plugin is written in Go and uses cgo against libdrm, hwloc and AMD SMI. The supported build is the container image:
docker build -t amd-device-plugin:dev .For a local Go build you need
pkg-config,libdrm-dev,libhwloc-devand a ROCm install that providesamd_smi, then:go build ./... go test ./...
- Browse the open issues.
- Issues labeled
good first issueare a good starting point. - If you plan to work on something, comment on the issue so others know.
Open a new issue and include: what you expected, what happened, the GPU model and ROCm version, and steps to reproduce. For security problems, do not open a public issue; follow SECURITY.md.
-
Fork the repository and create a topic branch from
main. -
Make your change. Keep pull requests focused and small where possible.
-
Add or update tests. Run
go build ./...,go vet ./...andgo test ./.... -
Sign off every commit to certify the DCO:
git commit -s -m "your message" -
Use the pull request template and add a
/kindlabel (/kind bug,/kind feature,/kind documentation). -
Open the pull request against
mainand describe what changed and why. Link the issue it fixes withFixes #<issue>.
- Maintainers review pull requests and may request changes.
- Automated checks (CI, DCO, CodeQL) must pass.
- Once a reviewer is satisfied they add
/lgtm, and an approver adds/approve; the bot then merges the pull request.
Thank you for helping improve the project.