mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-22 22:44:13 +08:00
feat: defer remote branch creation until first commit (#244)
* feat: defer remote branch creation until first commit - For commit signing: branches are created remotely by github-file-ops-server on first commit - For non-signing: branches are created locally with 'git checkout -b' and pushed when needed - Consolidated duplicate branch creation logic in github-file-ops-server into a shared helper function - Claude is unaware of these implementation details and simply sees it's on the correct branch - No branch links are shown in initial comments since branches don't exist remotely yet * fix: prevent broken branch links in final comment update - Check if branch exists remotely before adding branch link - Only add branch links for branches that actually exist on GitHub - Add test coverage for non-existent remote branches - Fixes issue where users would see broken branch links for local-only branches * fix: don't show branch name in comment header when branch doesn't exist remotely - Only pass branchName to updateCommentBody when branchLink exists - Prevents showing branch names for branches that only exist locally - Add test to verify branch name is not shown when branch doesn't exist * tmp
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
import { describe, it, expect } from "bun:test";
|
||||
import { updateCommentBody } from "../src/github/operations/comment-logic";
|
||||
import {
|
||||
updateCommentBody,
|
||||
type CommentUpdateInput,
|
||||
} from "../src/github/operations/comment-logic";
|
||||
|
||||
describe("updateCommentBody", () => {
|
||||
const baseInput = {
|
||||
@@ -417,5 +420,27 @@ describe("updateCommentBody", () => {
|
||||
"• [Create PR ➔](https://github.com/owner/repo/compare/main...claude/issue-123-20240101_120000)",
|
||||
);
|
||||
});
|
||||
|
||||
it("should not show branch name when branch doesn't exist remotely", () => {
|
||||
const input: CommentUpdateInput = {
|
||||
currentBody: "@claude can you help with this?",
|
||||
actionFailed: false,
|
||||
executionDetails: { duration_ms: 90000 },
|
||||
jobUrl: "https://github.com/owner/repo/actions/runs/123",
|
||||
branchLink: "", // Empty branch link means branch doesn't exist remotely
|
||||
branchName: undefined, // Should be undefined when branchLink is empty
|
||||
triggerUsername: "claude",
|
||||
prLink: "",
|
||||
};
|
||||
|
||||
const result = updateCommentBody(input);
|
||||
|
||||
expect(result).toContain("Claude finished @claude's task in 1m 30s");
|
||||
expect(result).toContain(
|
||||
"[View job](https://github.com/owner/repo/actions/runs/123)",
|
||||
);
|
||||
expect(result).not.toContain("claude/issue-123");
|
||||
expect(result).not.toContain("tree/claude/issue-123");
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user