mirror of
https://github.com/julia-actions/julia-runtest.git
synced 2026-02-12 02:56:55 +08:00
Compare tree hashes instead of using git diff
Comparing tree hashes is more accurate for detecting content differences between the merge commit and PR head, avoiding false positives when the content is identical but commit SHAs differ.
This commit is contained in:
@@ -25,8 +25,10 @@ if haskey(ENV, "GITHUB_SHA") && get(ENV, "GITHUB_EVENT_NAME", "") == "pull_reque
|
||||
|
||||
# Check if there's any difference between the merge commit and the PR head
|
||||
# In GitHub Actions, HEAD^2 is the PR head (second parent of merge commit)
|
||||
# success() returns true if the command exits with 0 (no differences)
|
||||
has_diff = !success(`git diff --quiet --exit-code HEAD^2 HEAD`)
|
||||
# Compare tree hashes to check if content actually differs
|
||||
merge_tree = chomp(read(`git rev-parse HEAD^{tree}`, String))
|
||||
pr_tree = chomp(read(`git rev-parse HEAD^2^{tree}`, String))
|
||||
has_diff = merge_tree != pr_tree
|
||||
|
||||
if has_diff
|
||||
base_branch = isempty(base_branch_name) ? "the base branch" : "'$base_branch_name'"
|
||||
|
||||
Reference in New Issue
Block a user