Merge pull request #19 from privilegedescalation/release/v1.0.0

release: tns-csi v1.0.0
This commit was merged in pull request #19.
This commit is contained in:
privilegedescalation-ceo[bot]
2026-03-24 22:01:22 +00:00
committed by GitHub
7 changed files with 11951 additions and 18480 deletions
+18 -1
View File
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [1.0.0] - 2026-03-24
### Added
- **Missing devDependencies** — added `@mui/material`, `@types/react`, `@types/react-dom`, and `notistack` to devDependencies so the full test suite resolves correctly; upgraded `vitest` to `^3.2.4`
### Changed
- **Test infrastructure fix** — added `define: { 'process.env.NODE_ENV': '"test"' }` to `vitest.config.mts` to prevent React production-build `act()` errors; all 159 component tests now pass
- **Version bump** — bumped package version from 0.2.7 to 1.0.0 (stable release)
- **Lock file** — removed `package-lock.json`; `pnpm-lock.yaml` is now the canonical lock file
- **Renovate config** — extended from org-level preset (PR #18)
- **GitHub Actions SHA pinning** — added `pinDigests` to Renovate config for SHA-pinned Actions (PR #17)
- **Dual-approval caller workflow** — added dual-approval status check workflow to CI (PR #16)
- **Release workflow** — GitHub App token secrets now passed to release workflow (PR #15)
## [0.2.6] - 2026-03-04
### Fixed
@@ -102,7 +118,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- TypeScript strict mode with zero `any` types
- ESLint + Prettier code quality tooling
[Unreleased]: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/compare/v0.2.6...HEAD
[Unreleased]: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/compare/v0.2.7...v1.0.0
[0.2.6]: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/compare/v0.2.5...v0.2.6
[0.2.4]: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/compare/v0.2.3...v0.2.4
[0.2.3]: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/compare/v0.2.2...v0.2.3
+12 -12
View File
@@ -1,4 +1,4 @@
version: "0.2.7"
version: "1.0.0"
name: headlamp-tns-csi-plugin
displayName: TrueNAS CSI (tns-csi)
description: >-
@@ -48,22 +48,22 @@ links:
changes:
- kind: added
description: "Component tests for all 8 UI components"
description: "Stable v1.0.0 release marking production readiness"
- kind: added
description: "Missing devDependencies for test infrastructure (@mui/material, @types/react, @types/react-dom, notistack, vitest upgraded to ^3.2.4)"
- kind: changed
description: "CI workflow split into parallel lint, typecheck, test jobs with build gating on all three"
description: "vitest.config.mts: added define block to set process.env.NODE_ENV=test, fixing act() errors in all component tests"
- kind: changed
description: "JUnit test reporter for PR test result visibility"
description: "Renovate config extended from org-level preset"
- kind: changed
description: "Node.js 20 upgraded to 22 (current LTS) in all workflows"
description: "GitHub Actions SHA pinning via pinDigests in Renovate"
- kind: changed
description: "Release workflow gated on CI passing with concurrency protection"
- kind: fixed
description: "Conditional React hook call in OverviewPage"
- kind: fixed
description: "appVersion now tracks upstream tns-csi driver release (0.12.0)"
description: "Dual-approval caller workflow added to CI"
- kind: changed
description: "GitHub App token secrets passed to release workflow"
annotations:
headlamp/plugin/archive-url: "https://github.com/privilegedescalation/headlamp-tns-csi-plugin/releases/download/v0.2.7/tns-csi-0.2.7.tar.gz"
headlamp/plugin/archive-checksum: sha256:ee25ad35cadb840dfe886d14714bd9ec7728297566d37cc7bbd53be2cbd3168c
headlamp/plugin/archive-url: "https://github.com/privilegedescalation/headlamp-tns-csi-plugin/releases/download/v1.0.0/tns-csi-1.0.0.tar.gz"
headlamp/plugin/archive-checksum: sha256:TBD-set-by-release-workflow
headlamp/plugin/version-compat: ">=0.20.0"
headlamp/plugin/distro-compat: "in-cluster,web,app"
-18464
View File
File diff suppressed because it is too large Load Diff
+10 -2
View File
@@ -1,6 +1,6 @@
{
"name": "tns-csi",
"version": "0.2.7",
"version": "1.0.0",
"description": "Headlamp plugin for TNS-CSI driver visibility and benchmarking",
"repository": {
"type": "git",
@@ -29,15 +29,23 @@
"react-dom": "^18.0.0"
},
"devDependencies": {
"@headlamp-k8s/eslint-config": "^0.6.0",
"@kinvolk/headlamp-plugin": "^0.13.0",
"@mui/material": "^5.15.14",
"@testing-library/jest-dom": "^6.4.8",
"@testing-library/react": "^16.0.0",
"@testing-library/user-event": "^14.5.2",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"eslint": "^8.57.0",
"jsdom": "^24.0.0",
"notistack": "^3.0.0",
"prettier": "^2.8.8",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^5.3.0",
"vitest": "^3.0.5"
"typescript": "~5.6.2",
"vitest": "^3.2.4"
},
"overrides": {
"tar": "^7.5.11",
+11907
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2,7 +2,7 @@
"extends": "@kinvolk/headlamp-plugin/config/plugins-tsconfig.json",
"compilerOptions": {
"module": "esnext",
"types": ["vite/client", "vite-plugin-svgr/client", "vitest/globals", "@testing-library/jest-dom"]
"types": ["vitest/globals", "@testing-library/jest-dom"]
},
"include": ["src"]
}
+3
View File
@@ -1,6 +1,9 @@
import { defineConfig } from 'vitest/config';
export default defineConfig({
define: {
'process.env.NODE_ENV': '"test"',
},
test: {
globals: true,
environment: 'jsdom',