Summary
Bring skyhook-packages up to repo-hygiene parity with the NVIDIA/nodewright operator repo. nodewright recently landed a set of issue/PR-management automation, CI hygiene workflows, and standard project docs. This repo already has the shared label scheme (labels.yml), CODEOWNERS, a PR template, issue templates, and stale.yaml, but is missing most of the automation and several standard docs.
This is the tracking epic. Each item below is a separate issue so it can be picked up and closed independently. Everything is GitHub-side or doc-only; no package scripts or build logic are touched.
Adaptation context (this is not a clean copy from nodewright)
nodewright is a Go operator with a Helm chart. skyhook-packages is a collection of shell-script packages, each a top-level directory (nvidia-setup/, kdump/, tuned/, tuning/, nvidia-tuned/, nvidia-tuning-gke/, shellscript/, copy-fail/, installer/), each with its own Dockerfile. Consequences that shape these issues:
- No
go.mod, no chart/. Workflows keyed to Go modules or Helm need retargeting or do not apply.
- The
component/* label scheme from the operator does not map directly; a package/* (or coarser) scheme is the open decision in the labels issue.
- Discussions is disabled on this repo, so any "ask in Discussions" link from nodewright must be dropped.
Items
Labels (prerequisite for triage + labeler):
Issue/PR automation (port of nodewright #260, split per workflow):
CI hygiene workflows:
Standard project docs:
Intentionally excluded
These nodewright artifacts do not apply to a shell-script repo with no Go module and are left out on purpose:
merge-gate.yaml: gates merges on Go-dependency license verification (go-licenses, go.mod/vendor path filter). There is no Go module here, so there is nothing to gate. Revisit only if a Go component is added.
THIRD_PARTY_NOTICES.md: generated from Go module dependencies. We are not shipping vendored dependency code, so a third-party license notice would be empty. Not applicable. If bundled third-party software in the package images ever carries its own notice obligations, that is a separate, differently-sourced effort.
Source of truth
nodewright artifacts to port from live under .github/ and the repo root of NVIDIA/nodewright. Pin action uses: to the same SHAs/versions nodewright uses, and match this repo's existing SPDX license-header style (see .github/workflows/stale.yaml).
Summary
Bring
skyhook-packagesup to repo-hygiene parity with theNVIDIA/nodewrightoperator repo. nodewright recently landed a set of issue/PR-management automation, CI hygiene workflows, and standard project docs. This repo already has the shared label scheme (labels.yml),CODEOWNERS, a PR template, issue templates, andstale.yaml, but is missing most of the automation and several standard docs.This is the tracking epic. Each item below is a separate issue so it can be picked up and closed independently. Everything is GitHub-side or doc-only; no package scripts or build logic are touched.
Adaptation context (this is not a clean copy from nodewright)
nodewright is a Go operator with a Helm chart.
skyhook-packagesis a collection of shell-script packages, each a top-level directory (nvidia-setup/,kdump/,tuned/,tuning/,nvidia-tuned/,nvidia-tuning-gke/,shellscript/,copy-fail/,installer/), each with its ownDockerfile. Consequences that shape these issues:go.mod, nochart/. Workflows keyed to Go modules or Helm need retargeting or do not apply.component/*label scheme from the operator does not map directly; apackage/*(or coarser) scheme is the open decision in the labels issue.Items
Labels (prerequisite for triage + labeler):
package/*/component/*+needs-triage(+ optionalsize/*) labels inlabels.ymlIssue/PR automation (port of nodewright #260, split per workflow):
triage.yaml(blocked by Add component/package + needs-triage labels to labels.yml #55)labeler.yaml+.github/labeler.yml(blocked by Add component/package + needs-triage labels to labels.yml #55)welcome.yamllock-threads.yamlinactive-pr-reminder.yamlCI hygiene workflows:
commit-linting.yamlsecurity-checkov.yaml(retargeted from Helm chart to the package Dockerfiles + workflows)lint-shellcheck.yaml(advisory ShellCheck over the ~60 bash scripts; drive to green, then gate). Not in nodewright; this repo is shell-heavy and had no linting.Standard project docs:
AGENTS.md/.claude/CLAUDE.md(agent guidance, packages-specific)AUTHORSSUPPORT.md.coderabbit.yamlROADMAP.md(packages-specific)KnownIssues.md(packages-specific)Intentionally excluded
These nodewright artifacts do not apply to a shell-script repo with no Go module and are left out on purpose:
merge-gate.yaml: gates merges on Go-dependency license verification (go-licenses,go.mod/vendorpath filter). There is no Go module here, so there is nothing to gate. Revisit only if a Go component is added.THIRD_PARTY_NOTICES.md: generated from Go module dependencies. We are not shipping vendored dependency code, so a third-party license notice would be empty. Not applicable. If bundled third-party software in the package images ever carries its own notice obligations, that is a separate, differently-sourced effort.Source of truth
nodewright artifacts to port from live under
.github/and the repo root ofNVIDIA/nodewright. Pin actionuses:to the same SHAs/versions nodewright uses, and match this repo's existing SPDX license-header style (see.github/workflows/stale.yaml).