| feat: add GitCode actions for pytest orchestration and reporting Add three GitCode action plugins from openlibing-pytest-executor: - openlibing-upload-reports: upload test reports to openlibing - pytest-orch: pytest test orchestration - test-result-display: display test results Add .gitignore to exclude node_modules and other generated files. Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-opus-4-5 | 1 个月前 |
| ci(workflows): add code-metrics-scan workflow 接入 openLiBing 代码度量扫描插件,工作流由 workflow_dispatch 与 push 默认分支触发。 Refs openlibing/code-metrics-action#14 Co-authored-by: Trae <noreply@trae.ai> Generated-by: glm-5.3-flashx | 5 天前 |
| build(test-result-display): add package script for versioned zip - test-result-display: add package npm script to produce a versioned zip (dist/ + action.yml), aligning with the packaging pattern used by metadata-collect, precision-test, pytest-orch, and upload-reports - metadata-collect: rebuild dist artifacts after ncc re-bundle, which reformats chained ternary and string-replace calls onto single lines - precision-test: bump version 1.0.0 -> 2.0.0 and remove unused @types/node and typescript devDependencies from package-lock Co-authored-by: Trae <noreply@trae.ai> Generated-by: trae-sonnet-4 | 5 天前 |
| build(test-result-display): add package script for versioned zip - test-result-display: add package npm script to produce a versioned zip (dist/ + action.yml), aligning with the packaging pattern used by metadata-collect, precision-test, pytest-orch, and upload-reports - metadata-collect: rebuild dist artifacts after ncc re-bundle, which reformats chained ternary and string-replace calls onto single lines - precision-test: bump version 1.0.0 -> 2.0.0 and remove unused @types/node and typescript devDependencies from package-lock Co-authored-by: Trae <noreply@trae.ai> Generated-by: trae-sonnet-4 | 5 天前 |
| fix(obs): enforce HTTPS and restore OBS TLS verification Harden the OBS transport channel so it no longer degrades to an unverified path despite using an https:// endpoint. obs-base-url input (validators.js): - validateObsBaseUrl now rejects HTTP; only HTTPS is allowed OBS upload (index.js uploadArchiveLogDirToObs): - set ssl_verify:true on ObsClient; esdk-obs-nodejs defaults rejectUnauthorized to this.sslVerify||false, so without ssl_verify the cert chain was not validated at all - wrap https.request at module load to restore tls.checkServerIdentity for *.myhuaweicloud.com; the SDK hardcodes a request-level no-op checkServerIdentity (overriding any agent-level setting), which skips hostname verification even with ssl_verify:true. The wrapper rewrites it before the request reaches the TLS layer, blocking MITM with a domain-mismatched cert. Scoped to OBS hosts; APIG uses fetch and git/pip are subprocesses, so they are unaffected scheduler_secret delivery (index.js): - pass scheduler_secret via the SCHEDULER_SECRET env var instead of the --scheduler_secret argv, so it no longer appears in the process command line (/proc/<pid>/cmdline, ps output); argv is dropped leaving env as the single channel. core.setSecret already registers mask values; stdout/stderr are forwarded verbatim Artifacts: - rebuild dist/index.js to mirror the source changes Co-authored-by: Trae <noreply@trae.ai> Generated-by: trae-sonnet-4 | 9 小时前 |
| fix(test-result-display): harden summary path validation and sourceTask sanitization - Add validateSummaryFilePath to validate ATOMGIT_STEP_SUMMARY path before appendFileSync: rejects path traversal, symbolic links, and paths outside the workspace/tmp whitelist; requires the summary file to already exist (not created by this action) - Apply sanitizeSourceTask to sourceTaskDisplay in run() before passing to core.warning/core.info, preventing log injection and sensitive data leakage via unsanitized sourceTask values - Export validateSummaryFilePath for unit testing - Rebuild dist/index.js Co-authored-by: Trae <noreply@trae.ai> Generated-by: trae-sonnet-4 | 1 天前 |
| !27 merge docs/readme-template-v2 into master docs(readme): 对齐 test-action 全量插件 README 至编写规范 Created-by: dd4574bb Commit-by: dd4574bb;openLiBingCI Merged-by: openLiBingCI Description: ## 变更摘要 按 README-TEMPLATE.md 规范,对齐 test-action 仓库全量插件 README 与示例。 ## 主要变更 - 仓库根 README.md:tag 升级(pytest-orch/metadata-collect/test-result-display/precision-test: v1.0.0 → v1.0.2;upload-reports: v1.0.0 → v2.0.0);input 改用 ars.OBS_BUCKET_NAME 等变量命名 - 6 个子插件 README:tag 升级 + 内容与新规范对齐 - workflow-example/Case-run-test.yml:移除 obs-ak/obs-sk/openlibing-secret 等过时输入 - workflow-example/Case-upload-reports.yml:同步规范 ## 关联 Issue Fixes #11 ## 测试计划 - [x] 所有子插件 README tag 与实际发布一致 - [x] input 命名统一(OBS_* 走 vars.*) - [x] 工作流示例已简化(移除已弃用字段) - [x] 无破坏性配置改动(仅文档同步) Refs #10 See merge request: openlibing/test-action!27 | 14 天前 |
| docs(readme): align all plugin READMEs with the new writing specification - Update tags in examples: pytest-orch/metadata-collect/test-result-display/ precision-test to v1.0.2, upload-reports to v2.0.0 - Switch OBS inputs from secrets.* to vars.* per the new convention - Add permissions: id-token: write block in upload workflow example - Drop deprecated inputs (obs-ak/obs-sk/openlibing-secret) - Refine README-TEMPLATE.md after a logic pass (cross-references, terminology, appendix links, badge wording) Refs test-action standards defined in README-TEMPLATE.md. Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 19 天前 |
| fix: 忽略构建产物目录,避免代码检查工具检查 dist 文件 修改配置文件,确保代码检查工具不检查构建产物: - eslint.config.js:添加 ignores 配置,排除所有位置的 dist/build/target 目录 - .pre-commit-config.yaml:添加 exclude 配置,排除 dist/build/target 目录 原因:dist/ 是构建产物,不是源代码,不应该被代码检查工具检查。 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 1 个月前 |
| feat(pytest-orch): add only-fail and fail-case parameters support Add --only-fail and --fail-case input parameters to pytest-orch action. These parameters enable running only failed test cases based on previous test results. Changes: - Add only-fail and fail-case input parameters in action.yml - Add parameter validation logic in index.js - Add validateBoolean function for boolean parameter validation - Pass parameters to main.py when specified - Add corresponding logging output Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 1 个月前 |
| fix: 忽略构建产物目录,避免代码检查工具检查 dist 文件 修改配置文件,确保代码检查工具不检查构建产物: - eslint.config.js:添加 ignores 配置,排除所有位置的 dist/build/target 目录 - .pre-commit-config.yaml:添加 exclude 配置,排除 dist/build/target 目录 原因:dist/ 是构建产物,不是源代码,不应该被代码检查工具检查。 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 1 个月前 |
| feat: 接入代码格式化工具,配置 Prettier 接入 Prettier 代码格式化工具,建立代码格式基线: - 新增 package.json(含 format 脚本和 prettier 依赖) - 新增 .prettierrc.json(格式化配置) - 新增 .prettierignore(格式化忽略规则) - 新增 .pre-commit-config.yaml(通用 hooks + 格式化 hooks) Relates #1 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 1 个月前 |
| feat: 接入代码格式化工具,配置 Prettier 接入 Prettier 代码格式化工具,建立代码格式基线: - 新增 package.json(含 format 脚本和 prettier 依赖) - 新增 .prettierrc.json(格式化配置) - 新增 .prettierignore(格式化忽略规则) - 新增 .pre-commit-config.yaml(通用 hooks + 格式化 hooks) Relates #1 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 1 个月前 |
| feat(pytest-orch): 新增可选 collect-config-file 入参 参照 testcase-config-file 的处理方式新增 collect-config-file 选填入参: 经 validateFilePath 校验,提供 testcase-repo 时拼接到用例仓目录, 透传 --collect_config_file 给 main.py,并重建 dist/index.js。 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 13 天前 |
| feat(pytest-orch): 新增可选 collect-config-file 入参 参照 testcase-config-file 的处理方式新增 collect-config-file 选填入参: 经 validateFilePath 校验,提供 testcase-repo 时拼接到用例仓目录, 透传 --collect_config_file 给 main.py,并重建 dist/index.js。 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 13 天前 |
| fix: 忽略构建产物目录,避免代码检查工具检查 dist 文件 修改配置文件,确保代码检查工具不检查构建产物: - eslint.config.js:添加 ignores 配置,排除所有位置的 dist/build/target 目录 - .pre-commit-config.yaml:添加 exclude 配置,排除 dist/build/target 目录 原因:dist/ 是构建产物,不是源代码,不应该被代码检查工具检查。 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 1 个月前 |
| feat: 接入开源代码检查工具,配置 Prettier 和 ESLint 接入代码格式化和检查工具,建立代码质量基线: - 接入 Prettier 格式化工具 - 接入 ESLint 检查工具 - 新增配置文件: - package.json(含 format/lint 脚本和相关依赖) - .prettierrc.json(格式化配置) - .prettierignore(格式化忽略规则) - eslint.config.js(ESLint flat config,含 JS/TS/Vue 规则) - .pre-commit-config.yaml(通用 hooks + 格式化 hooks + 检查 hooks) Relates #1 Co-authored-by: Trae <noreply@trae.ai> Generated-by: claude-sonnet-4-6 | 1 个月前 |