| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(cmdutil): SetFlagEnum returns error, no panic + spec rule (#415) #415: SetFlagEnum 在注解失败时 panic 让 CLI 崩溃,绕过 error 语义。spec 此前 无「禁止裸 panic」规则(issue 引用条文不存在),先补规则再修: - spec/foundations/coding-standards.md: 错误处理节加「禁止裸 panic」规则 (业务/运行期 error 返回;构造期非功能性元数据无法传播 error 时降级 stderr 告警+继续,不得崩溃;Must* 前缀显式 fail-fast;cobra 第三方不在范围) - pkg/cmdutil/flag_annotations.go: SetFlagEnum 改返 error(去 panic); 新增 SetFlagEnumOrWarn(构造期降级告警+继续,不崩溃) - pkg/cmdutil/format.go: AddFormatFlag/AddTimeFormatFlag 同包调用改 OrWarn - 18 处命令构造调用点 cmdutil.SetFlagEnum( → cmdutil.SetFlagEnumOrWarn( - pkg/cmdutil/flag_annotations_test.go: 新增 4 测试(注册 flag 注解成功; 未注册 flag 返 error 不 panic;OrWarn 不崩溃+stderr 告警;OrWarn 成功静默) 正确代码行为不变(注解照常设置);仅编程错误(注解未注册 flag)时从崩溃改为告警。 Closes #415 | 2 个月前 | |
feat(actions): add gc actions job log for job log download Reopen-and-deliver #450 (was closed without a merged PR / no mainline code, same anomaly as #449; reopened per AGENTS §9). Add read-only support for the GitCode Actions v8 endpoint GET /api/v8/repos/{owner}/{repo}/actions/runs/{run_id}/jobs/{job_id}/download_log. - api: new GetActionsJobLog via RawREST (v8 path preserved, Accept */*); returns the raw response bytes (the endpoint returns a ZIP archive of step logs, not JSON). - cmd: new gc actions job log <run-id> <job-id> command, registered under the job parent. --output/-o writes to a file; default writes raw bytes to stdout. On an interactive TTY without --output it refuses to dump the binary archive (avoids garbling the terminal) and suggests --output/redirect; piped/redirected stdout streams raw bytes. - tests: v8 path (download_log + Accept */*), raw bytes fidelity, 404, command param validation + stdout + --output file + error + TTY guard. - docs: COMMANDS.md gains an actions job log section (ZIP archive, TTY guard, exit codes); README entry. Real-data confirmation on wangjing_127/MindIE-SD run #55 job codecheck: Bearer auth accepted (API doc marks access_token required, but Bearer works); download_log returns a 5023-byte ZIP (0_Login to CodeArts.log, 1_codecheck.log, ...). infra-test 404 exit 3. Closes #450 Co-Authored-By: opencode (glm-5.2) <noreply@anthropic.com> | 3 个月前 | |
fix(release): download clobber/skip, named-asset strictness, streaming upload, view/delete polish download: an existing file was silently overwritten (temp+rename with no existence check), and a mistyped asset name exited 0 with "No assets to download" — scripts could not tell a typo from an empty release. Existing files now refuse by default with --clobber to overwrite and --skip-existing to skip (mutually exclusive, gh-aligned). Named downloads are strict: any miss is an error listing the available asset names, and the named set bypasses the source-archive filter — naming an archive explicitly is intent and must download it even without --all. upload: the whole file was buffered in memory (io.ReadAll then a []byte PUT — double the asset size, OOM territory for large binaries); UploadToURL and UploadReleaseAssetByTag now take an io.Reader with an explicit ContentLength (presigned URLs reject chunked PUTs) and uploadFile streams from the file handle with a 512-byte sniff-and-rewind for content type. The platform's overwrite behavior for duplicate asset names is undefined, so a GetRelease precheck refuses the whole batch (zero PUTs) when any name collides, pointing at delete-asset or a rename. A mid-batch failure now names what already landed. The --label example that errors when copied is gone (the flag stays, with its explicit rejection). delete: the confirmation prompt showed the release Name but expected the tag — when they differ, typing what the screen says was rejected. confirmTitle shows "Name (tag: tag)" so the expected input is always visible; Expected stays the tag (the API key). view: gained its first run-level tests (web/TTY/non-TTY browser fallback via an injected opener matching the pr create seam, JSON, human render, not-found wrapping). list: the body-first-line truncate was byte-based and corrupted CJK text at the 60-byte boundary; a shared rune-aware output.Truncate now serves release list, issue templates (same latent bug), and the plugin list (which had its own correct copy). COMMANDS.md documents the new download/upload semantics and fixes the extension-name wording for source archives (detection is by URL, not extension). Co-Authored-By: Claude Code <noreply@anthropic.com> | 1 个月前 | |
fix(actions): address remaining family governance items (issue #577) - retry.go: wrap the success output line over the 120-char limit (the earlier fix commit message claimed the wrap but only split the call site; now actually under the limit, message kept intact) - retry: add --failed mode truncation-defense test mirroring the --job case so both selection entry points are covered - api: add PathEscape special-character test for RetryActionsRun | 1 个月前 | |
feat(actions): add gc actions runner-group shared-namespace list for listing shared namespaces Add ListRunnerGroupSharedNamespaces API function (GET /api/v8/orgs/{org}/actions/runner-groups/{runner_group_id}/shared-namespaces) and the gc actions runner-group shared-namespace list command with <runner-group-id> positional arg, --org (required), --keyword, --limit, --page, --paginate, --per-page, --json flags. Includes SharedNamespace type (id/runner_group_id/from_namespace_id/ to_namespace_id/type/create_time/update_time), unit tests (15 tests, 86.2% coverage), and COMMANDS.md documentation. Refs #438 Co-Authored-By: opencode (glm-5.2) <noreply@anthropic.com> | 3 个月前 | |
feat(actions): add gc actions runner-set shared-runner-sets for listing repo shared K8S runner sets Add ListRepoSharedRunnerSets API function (GET /api/v8/repos/{owner}/{repo}/actions/shared-runner-sets) and the gc actions runner-set shared-runner-sets command with -R, --keyword, --limit, --page, --paginate, --per-page, --json flags. Reuses RunnerSet/RunnerSetsResponse types. Includes unit tests (15 tests, 86.4% coverage) and COMMANDS.md documentation. Refs #451 Co-Authored-By: opencode (glm-5.2) <noreply@anthropic.com> | 3 个月前 | |
feat(actions): add gc actions runner shared-runners for listing repo shared host runners Add ListRepoSharedRunners API function (GET /api/v8/repos/{owner}/{repo}/actions/runners/shared-runners) and the gc actions runner shared-runners command with -R, --keyword, --limit, --page, --paginate, --per-page, --json flags. Reuses Runner/RunnersResponse types. Includes unit tests (15 tests, 85.7% coverage) and COMMANDS.md documentation. Refs #444 Co-Authored-By: opencode (glm-5.2) <noreply@anthropic.com> | 3 个月前 | |
fix(actions): resolve remaining low-priority review findings for setting Replace the web API 401 guidance instead of appending to it, reject blank -R/--org values that would otherwise fall back to the inferred repository, align the long help with the actual confirmation phrase, and cover the disable branch, the read-abort path, and both guidance branches with tests. | 1 个月前 | |
fix(actions): address Round 1 review — json index + test rewrite + content-type Address Round 1 independent review findings (PR #505): Blocker fixes: - D1: Move actions workflow run from read-only --json index to write-path --json index (it's a POST write command) - T4: Rewrite TestRunRunSecretScan to go through NewCmdRun + SetArgs + Execute end-to-end (was manually replicating RunE logic with unreachable t.Fatal) Should-fix: - C1: Remove redundant Content-Type header (RawREST sets it automatically when body != nil), aligns with ValidateActionsWorkflow 6/6 command tests pass. Refs gitcode-cli/cli#509 | 2 个月前 | |
test: align empty-file boundary with real API 400 behavior | 2 个月前 | |
feat(actions): add permission setting command | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 |