GH-133410: Use commit hashes for change detection (gh-133416)

This commit is contained in:
Adam Turner 2025-05-05 09:49:12 +01:00 committed by GitHub
parent ff4959b6b0
commit d530e74e44
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 13 deletions

View file

@ -97,6 +97,8 @@ jobs:
run: python Tools/build/compute-changes.py
env:
GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
CCF_TARGET_REF: ${{ github.base_ref || github.event.repository.default_branch }}
CCF_HEAD_REF: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Compute hash for config cache key
id: config-hash

View file

@ -56,12 +56,10 @@ class Outputs:
def compute_changes() -> None:
target_branch, head_branch = git_branches()
if target_branch and head_branch:
target_branch, head_ref = git_refs()
if target_branch and head_ref:
# Getting changed files only makes sense on a pull request
files = get_changed_files(
f"origin/{target_branch}", f"origin/{head_branch}"
)
files = get_changed_files(target_branch, head_ref)
outputs = process_changed_files(files)
else:
# Otherwise, just run the tests
@ -89,15 +87,15 @@ def compute_changes() -> None:
write_github_output(outputs)
def git_branches() -> tuple[str, str]:
target_branch = os.environ.get("GITHUB_BASE_REF", "")
target_branch = target_branch.removeprefix("refs/heads/")
print(f"target branch: {target_branch!r}")
def git_refs() -> tuple[str, str]:
target_ref = os.environ.get("CCF_TARGET_REF", "")
target_ref = target_ref.removeprefix("refs/heads/")
print(f"target ref: {target_ref!r}")
head_branch = os.environ.get("GITHUB_HEAD_REF", "")
head_branch = head_branch.removeprefix("refs/heads/")
print(f"head branch: {head_branch!r}")
return target_branch, head_branch
head_ref = os.environ.get("CCF_HEAD_REF", "")
head_ref = head_ref.removeprefix("refs/heads/")
print(f"head ref: {head_ref!r}")
return f"origin/{target_ref}", head_ref
def get_changed_files(