Commit Graph

6 Commits

Author SHA1 Message Date
Gandalf the Greybeard a62dbcac2d fix: add missing test devDependencies (vitest, @testing-library/*)
The test script runs vitest and imports from @testing-library/react and
@testing-library/jest-dom, but none of these were listed as devDependencies.
Adds vitest ^3.0.5 and all required @testing-library packages matching other
plugin repos in the org.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 12:53:39 +00:00
Gandalf the Greybeard 4da033d8d7 fix: add .eslintrc.js and .prettierrc.js to fix CI lint failure
The shared CI workflow runs `npm run lint` (ESLint) and `npm run format:check`
(Prettier) but neither config file was present in the template repo. ESLint
was failing with "ESLint couldn't find a configuration file."

Add both configs matching the pattern used in other plugins in the org:
- .eslintrc.js extends @headlamp-k8s/eslint-config (provided by @kinvolk/headlamp-plugin)
- .prettierrc.js uses @headlamp-k8s/eslint-config/prettier-config

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 08:08:16 +00:00
Hugh Hackman 3d272d3f6e fix: add package-lock.json to satisfy npm cache in CI
The shared plugin-ci.yaml workflow uses `cache: npm` in setup-node
and runs `npm ci`, both of which require a lock file. Without it,
CI fails with "Dependencies lock file is not found".

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 07:59:51 +00:00
Hugh Hackman f40ecbb899 fix(workflows): add pull-requests permission and secrets: inherit to release
The shared plugin-release.yaml reusable workflow declares pull-requests: write
and uses it to create/merge the release PR. Calling workflows must grant all
permissions declared by reusable workflows or the job fails at startup.

Also adds secrets: inherit so org-level RELEASE_APP_ID and RELEASE_APP_PRIVATE_KEY
are forwarded to the external reusable workflow — without this they arrive empty
and the release is silently skipped.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 07:58:50 +00:00
Gandalf the Greybeard 9da27f4186 feat: scaffold starter template with TypeScript, CRD list view, CI, ArtifactHub
Adds full plugin starter template including:
- package.json with @kinvolk/headlamp-plugin devDependency and standard scripts
- tsconfig.json extending headlamp plugin config
- vitest.config.mts + vitest.setup.ts (jsdom, NODE_ENV=test, localStorage shim)
- src/index.tsx: registers sidebar entry and route for ResourceListPage
- src/components/ResourceListPage.tsx: placeholder CRD list view with TODO guide
- src/components/ResourceListPage.test.tsx: example tests using vi.mock pattern
- .github/workflows/ci.yaml: delegates to shared plugin-ci.yaml
- .github/workflows/release.yaml: delegates to shared plugin-release.yaml
- artifacthub-pkg.yml + artifacthub-repo.yml: ArtifactHub metadata with TODO markers
- renovate.json: Mend Renovate config for weekly dependency updates
- README.md: complete getting-started guide
- CONTRIBUTING.md: local dev, code style, testing, PR process
- LICENSE: Apache-2.0

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 03:45:12 +00:00
Gandalf the Greybeard b741cfebc6 chore: initialize repository
Empty bootstrap commit to establish main branch before template scaffolding PR.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 03:40:50 +00:00