Commit graph

41 commits

Author SHA1 Message Date
lhb6540
f3dbb57a80 fix(helm): 修正 CI 渲染与 PostgreSQL 管理员密码引用
同步 Helm CI matrix 与当前 values schema 和确定性凭据策略。

- 所有 CI 渲染加载测试凭据并迁移 Ingress TLS 数组配置
- PostgreSQL 使用 postgres 用户时引用管理员密码 key
- 增加内置 Secret 和 existingSecret 的管理员用户契约测试

Signed-off-by: lhb6540 <lhb6540@gmail.com>
2026-07-20 11:36:04 +08:00
lhb6540
5d379dcaaf fix(helm): 修正组件启停与依赖配置并增加 values 校验
在配置进入 Kubernetes 前完成父 Chart 校验,并补齐剩余的依赖配置契约。

- 让 Service、HPA 和 PDB 正确遵循组件启用状态
- 校验 Ingress、自动扩缩容、外部依赖和共享存储的组合配置
- 增加 values.schema.json 和 Helm 配置契约测试并接入 CI
- 统一 PostgreSQL Primary 与 Read Replica 的 max_connections 配置
- 修正 Redis Sentinel 节点、依赖等待和独立密码配置
- 允许覆盖依赖等待容器镜像,支持完整私有镜像仓库部署
- 兼容现代与旧式 IngressClass,并支持多域名 TLS 和证书 SAN
- 增加 GitOps 稳定 Secret 模式,阻止离线渲染产生随机凭据漂移
- 引用用户可控的 ConfigMap 字符串,并推导 TLS 安全 Cookie 和设备认证默认值
- 补充 Sentinel、RWX 存储、TLS Cookie、PVC 保留、私有镜像和 GitOps 文档
- 增加 Redis 数据密码与 Sentinel 密码分离的应用配置测试

已通过 Helm 严格 lint、渲染场景、配置契约测试、kubeconform、后端测试套件和 Sentinel 专项配置测试。

Signed-off-by: lhb6540 <lhb6540@gmail.com>
2026-07-15 17:19:24 +08:00
lhb6540
3b3905be63 fix(helm): 修正 Bitnami 依赖连线并同步应用配置
基于当前 SkillHub 运行时契约和 Bitnami 依赖命名,更新原贡献者提交的 Helm Chart 配置。

- 将 Server 正确连接到实际的 PostgreSQL 和 Redis Service 与 Secret
- 支持依赖组件的 existingSecret 名称和自定义密码 key,避免安装时 lookup
- 同步 S3、匿名下载、Scanner LLM、公开地址、设备认证和直接认证配置
- 将应用版本和 Chart 版本对齐当前发布版本
- 收紧 Chart 发布触发条件和手动版本选择逻辑
- 增加依赖 Service、Secret 和密码 key 的 CI 语义断言

已通过 Helm lint、九组渲染场景、kubeconform、工作流安全检查和后端应用测试套件。

Signed-off-by: lhb6540 <lhb6540@gmail.com>
2026-07-15 17:19:15 +08:00
jangrui
2b1be5ccf8 fix(ci): kubeconform 加载 CRD schema 修复 cert-manager 校验失败
ingress-tls-certmanager 场景渲染出 cert-manager 的 Certificate CRD,
kubeconform 默认仅内置原生 k8s schema,遇到 CRD 报 "could not find schema"。

追加 -schema-location 从 datreeio/CRDs-catalog 远程加载 CRD schema,
覆盖整个 catalog 收录的 CRD 资源,9 场景矩阵无需差异化处理。

Signed-off-by: jangrui <admin@jangrui.com>
2026-06-09 17:17:06 +08:00
jangrui
0605357316 fix(chart): 修复 PR review 反馈项
- 删除 subchart image block,使用 Bitnami 默认版本
- 移除 Ingress cert-manager annotation,消除双重签发
- 清空默认明文密码,改为空字符串
- 排除 tgz 进 git,CI 添加 helm dependency build
- checksum 改为模板级渲染,修复文件末尾换行
- sentinel default 3,列表生成改用 append+join
- 添加 externalRedis.sentinel.password 字段
- README 补充 existingSecret key 清单
- CI 添加 kubeconform -strict 校验
- RedissonConfig 添加注释,补充空密码测试用例

Signed-off-by: jangrui <admin@jangrui.com>
2026-06-04 06:35:28 +08:00
jangrui
906c7f9884 feat(chart): 集成 Bitnami 组件并重构高可用配置
- 使用 Bitnami PostgreSQL/Redis subchart 替代内置 StatefulSet
- 新增 sentinel 模式密码分离(redis-sentinel-password)
- 修复证书 secretName 与 Ingress 动态一致性
- 清理 ConfigMap 未引用字段,Service 模板去重
- CI 矩阵修复 sentinel 参数并扩展至 9 场景
- 命名空间硬编码替换为动态 $.Release.Namespace

Signed-off-by: jangrui <admin@jangrui.com>
2026-06-01 20:59:58 +08:00
jangrui
5909bc1a1a 修复 Helm:解决 CI 流水线故障与模板边界场景
- 修复 S3 存储模式下卷挂载条件渲染
- CI 多行参数不再被 YAML 尾随换行符截断
- 移除未使用的 database.architecture 字段
- 简化 Helm Chart 发布工作流

Signed-off-by: jangrui <admin@jangrui.com>
2026-06-01 20:59:58 +08:00
jangrui
6ed5fb34dc commit -m "fix(ci): 修复 helm lint 缺少路径参数和 grep -c 在 bash -e 下的退出码问题"
Signed-off-by: jangrui <admin@jangrui.com>
2026-06-01 20:59:58 +08:00
jangrui
0ddb392086 feat(chart): 添加 Helm Chart 发布工作流
Signed-off-by: jangrui <admin@jangrui.com>
2026-06-01 20:59:58 +08:00
jangrui
dd1e87f1f3 feat(chart): 添加 SkillHub Helm Chart 部署方案
新增 Helm Chart 支持完整的 SkillHub 私有化部署,包括:

- PostgreSQL/Redis 内置 StatefulSet 及外部模式切换
- 零依赖设计,无需 Bitnami 子 Chart
- 支持 standalone/cluster 数据库架构
- NodePort/LoadBalancer/ClusterIP 多种服务类型
- HPA、PDB、ServiceMonitor 完整运维支持
- cert-manager 证书自动签发
- initContainer 等待数据库和 Redis 就绪
- PVC 卸载保护 (helm.sh/resource-policy: keep)
- GitHub Actions: PR 校验 + 发布到 GHCR OCI

Signed-off-by: jangrui <admin@jangrui.com>
2026-06-01 20:59:58 +08:00
Cheney
f59a10e36f chore(ci): remove temporary publish-script test workflow 2026-05-13 09:28:28 +08:00
Cheney
1420ffac56 test(ci): add temporary workflow to test publish-cli script
This workflow runs scripts/tests/publish-cli-test.sh in CI to verify
the publish script changes. Will be removed after verification.
2026-05-12 17:53:12 +08:00
Cheney
eeb2540a3e fix(cli): align checkout ref across all workflow jobs
publish-npm and create-release now checkout the same ref as
build-and-test (the input tag or push ref), preventing source
mismatch between npm package and GitHub Release artifacts.
2026-05-12 17:29:58 +08:00
Cheney
70b962a4c8 fix(cli): harden release pipeline per PR #422 review
1. npm version check: three-state logic (exists/missing/error) to prevent
   silent skip on network failures, registry 5xx, or auth issues.

2. workflow_dispatch: checkout the specified tag and validate SHA matches,
   preventing builds from wrong ref.

3. Atomic push: use `git push --atomic` and detect unpushed tags via
   `git ls-remote` instead of `--no-merged` (catches branch-pushed-but-
   tag-failed state).
2026-05-12 17:15:35 +08:00
Cheney
159886b76d fix(cli): ensure create-release depends on publish-npm and rewrite publish-cli tests
1. Update release-cli.yml to make create-release depend on publish-npm with proper skip_npm handling, preventing half-released state where GitHub Release exists but npm package is unavailable.

2. Rewrite publish-cli-test.sh to cover the new publish flow: main branch check, dirty tree detection, tag baseline sync, version bumping, tag conflict detection, user cancellation, and atomic push verification.
2026-05-12 16:12:57 +08:00
Cheney
378216c6da feat(cli): add automated build and publish workflow
- Add release-cli.yml GitHub Actions workflow: build, test, npm publish,
  and GitHub Release triggered by cli-v* tags
- Rewrite scripts/publish-cli.sh: local bump + commit + tag + push,
  enforces main branch, idempotent tag checks
- Add concurrency group and release idempotency to workflow
- Add make publish-cli / publish-cli-minor / publish-cli-major targets
- Add cli/RELEASE.md documenting the full release process
2026-05-12 10:32:06 +08:00
dongmucat
351dddc912 feat(cli): add SkillHub CLI v1 with full command suite
Implement complete CLI tool for SkillHub with 12 commands, 7 backend API endpoints, and comprehensive documentation.

CLI Commands:
- help, version: Basic information
- login, logout, whoami: Authentication management
- search: Discover published skills
- install: Install skills to agent directories (14 Tier 1 agents supported)
- list, remove, doctor: Local skill management
- publish: Publish skill packages
- update: Self-update mechanism

Backend API:
- Add /api/cli/v1 endpoints for auth, search, resolve, download, delete, publish
- Implement CliAuthController and CliSkillController
- Add security policies for CLI routes
- Full test coverage (19 backend tests)

CLI Implementation:
- TypeScript with strict mode, Bun runtime
- Pure JS zip handling (fflate) for cross-platform compatibility
- 15 agent profiles (14 Tier 1 + generic fallback)
- Secure token storage (0600 permissions)
- Path safety validation for remove operations
- Comprehensive error handling (404/403/network distinction)
- 41 unit and integration tests

Documentation:
- CLI user guide (Chinese and English)
- README updates with quick start
- GitHub Actions workflow for cross-platform CI

Quality:
- lint: 0 errors
- typecheck: pass
- test: 41/41 pass
- build: 0.30 MB (target=node for npm/npx compatibility)
2026-04-29 15:37:04 +08:00
XiaoSeS
5bf8750658
feat(ci): add AI-powered release notes generation (#322)
* feat(ci): add AI-powered release notes generation

- Add GitHub Models integration for automated release notes
- Support bilingual (EN) release notes with highlights extraction
- Fallback to conventional commit grouping when LLM unavailable
- Trigger on tag push or manual workflow dispatch
- Zero configuration: uses GitHub Models (gpt-4o-mini) by default

* chore: pin action versions and update gitignore

- Pin checkout and setup-deno to commit hashes matching project convention
- Add .playwright-mcp/ and .mcp.json to gitignore
2026-04-17 15:19:48 +08:00
wowo
689e698b89
feat(ci): add PR batch test deployment workflow (#275)
* feat(ci): add PR batch test deployment workflow

* fix(ci): support local PR batch rehearsal

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-09 18:45:14 +08:00
wowo
8f694ddc7c
[codex] add issue triage automation mvp (#268)
* add issue triage automation mvp

* Document issue automation design in Chinese

* Fix legacy compat slug tests
2026-04-09 15:04:33 +08:00
South Drifter
66acc6e57b
chore: add GitHub-reward form, scripts & actions (#221)
* chore: add GitHub-reward form, scripts & actions

* fix: Deno system permissions in GitHub actions

* fix: 3 detail bugs
2026-04-07 19:02:59 +08:00
XiaoSeS
1233354087
docs: add VitePress bilingual documentation site (#208)
* docs: add VitePress bilingual documentation site

- Add VitePress-based documentation with Chinese (root) and English (/en/) locales
- Include 6 feature guides: skill-publish, skill-discovery, namespace, review, scanner, social
- Add quickstart, introduction, and FAQ pages
- Include AI-generated diagrams and screenshots
- Add GitHub Pages deployment workflow
- Add Makefile targets: docs-dev, docs-build, docs-preview

* docs: rename docs/claude to docs/skillhub

- Rename documentation directory from docs/claude to docs/skillhub
- Update Makefile paths for docs-dev, docs-build, docs-preview
- Update GitHub workflow paths for deploy-docs.yml
2026-04-02 13:43:55 +08:00
dongmucat
50a6c4b7fe test(e2e,ci): migrate web e2e to real API and add PR e2e workflow (#198)
* chore(workflow): align local hooks and e2e guidance

* test(e2e): expand reusable api mock helpers

* test(skill): stabilize share button e2e assertions

* chore(test): add e2e make target and tune playwright workers

* test(web): expand e2e coverage and smoke suite

* test(e2e): migrate to real API flows and add request-based data builder

* ci(e2e): add PR workflow for real-service frontend e2e

* ci(e2e): install playwright chromium in PR workflow

* test(e2e): relax timeout and force single worker in CI

* test(e2e): stabilize not-found assertions and harden CI session bootstrap

* chore(agents): align tester role with web/e2e workflow
2026-04-01 14:41:23 +08:00
XiaoSeS
c23d0bbc4a feat: add scanner service to v0.2.0 release deployment (#189)
* feat(deploy): add scanner service to release deployment

- Add skill-scanner service to compose.release.yml (enabled by default)
- Add scanner image to CI publish-images workflow matrix
- Add --scanner-image and --no-scanner flags to runtime.sh
- Add scanner config to .env.release.example

* fix(docker): add skillhub-notification module to server Dockerfile

* fix(deploy): set scanner mode to upload for container deployment

* fix(deploy): use env override instead of persisting scanner disabled state
2026-03-30 19:01:51 +08:00
XiaoSeS
28e9049562 feat(profile): add field policy config and GET response
* feat(profile): add field policy config and GET response

Add per-field edit policy configuration (editable, requiresReview) to
application.yml and expose it in the GET /api/v1/user/profile response
via a new fieldPolicies map, enabling the frontend to dynamically render
fields based on backend-driven policies.

* feat(profile): implement mixed submission in PATCH

Split profile update changes by per-field policy: fields without
requiresReview apply immediately, fields with requiresReview enter
the pending queue. Return PARTIALLY_APPLIED status with appliedFields
and pendingFields maps when both paths trigger in a single request.

* feat(web): rewrite profile page with dynamic fields

Render profile fields dynamically from backend fieldPolicies, with
whole-page read/edit mode toggle. Handle APPLIED, PENDING_REVIEW, and
PARTIALLY_APPLIED responses. Add i18n keys for review hints and
partial-apply toasts in both en and zh.

* merge: resolve deepwiki.yml conflict with package-lock.json fix

* api schema

* fix(profile): align moderation defaults and tests

* ci(deepwiki): run crawler on release publish
2026-03-20 14:59:21 +08:00
xiose
d64a7f7ed9 ci(deepwiki): add DeepWiki documentation crawler workflow 2026-03-19 20:45:41 +08:00
vsxd
033ac54c76 chore: unify build and test entrypoints 2026-03-17 14:09:22 +08:00
vsxd
7ced9d38f0 Add PR test workflow 2026-03-17 11:16:01 +08:00
binfan5
f5c029fbe8 feat(ops): add optional runtime registry mirroring 2026-03-15 14:30:04 +08:00
wowo-zZ
b886bd8aed chore(ci): trigger image publish only on release events
- Change workflow trigger from push events to release published events
- Remove automatic builds on main branch merges
- Keep manual workflow_dispatch option for flexibility
2026-03-14 16:08:35 +08:00
vsxd
5485e70eb8 chore: remove validate-openapi workflow 2026-03-13 14:12:59 +08:00
vsxd
45e96be179 fix(ci): install pnpm before setup-node cache 2026-03-13 11:48:44 +08:00
vsxd
f7df348a5a Add OpenAPI drift validation and docs updates 2026-03-13 11:06:55 +08:00
vsxd
2b7968c71c docs(repo): add contribution and community templates 2026-03-13 10:34:12 +08:00
vsxd
f7798dddc5 Revert "merge: bring review fixes into feature/project-init"
This reverts commit 92f63f8b89, reversing
changes made to 78e16f0fe7.
2026-03-13 10:06:14 +08:00
vsxd
9146476fb9 chore(ci): restore release publish triggers 2026-03-12 21:51:25 +08:00
vsxd
3c9b95fd98 refactor(auth): remove local auth flow 2026-03-12 21:36:49 +08:00
vsxd
6864604377 feat(ops): publish multi-arch runtime images 2026-03-12 21:20:14 +08:00
vsxd
f61da15727 chore(ci): restore publish workflow triggers 2026-03-12 20:59:44 +08:00
vsxd
a7481dca5a chore(ci): enable publish workflow on feature branch for validation 2026-03-12 20:55:51 +08:00
vsxd
47c9a1d1db feat(ops): publish runtime images via github actions 2026-03-12 20:53:24 +08:00