Skip to content

Fix git-restore-mtime for newer Git on GitHub Actions (#983)#983

Closed
xuhdev wants to merge 2 commits intofacebook:mainfrom
xuhdev:export-D100770813
Closed

Fix git-restore-mtime for newer Git on GitHub Actions (#983)#983
xuhdev wants to merge 2 commits intofacebook:mainfrom
xuhdev:export-D100770813

Conversation

@xuhdev
Copy link
Copy Markdown
Member

@xuhdev xuhdev commented Apr 14, 2026

Summary:

The GitHub Actions runner ships Git 2.53, which is newer than Ubuntu 24.04's default Git 2.43. Git 2.53 removed git whatchanged, which the distro's git-restore-mtime package (version 2022.12) relies on. This causes git-restore-mtime to fail silently, leaving all source files with the checkout timestamp. With stale build cache objects, Make's dependency tracking can miss recompilation of files affected by header changes, leading to test failures from mismatched struct layouts.

Install git-restore-mtime v2025.08 directly from upstream, which uses git log --raw instead of git whatchanged.

Differential Revision: D100770813

@meta-cla meta-cla bot added the CLA Signed label Apr 14, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Apr 14, 2026

@xuhdev has exported this pull request. If you are a Meta employee, you can view the originating Diff in D100770813.

@meta-codesync meta-codesync bot changed the title Fix git-restore-mtime for newer Git on GitHub Actions Fix git-restore-mtime for newer Git on GitHub Actions (#983) Apr 14, 2026
xuhdev added a commit to xuhdev/redex that referenced this pull request Apr 14, 2026
Summary:

The GitHub Actions runner ships Git 2.53, which is newer than Ubuntu 24.04's default Git 2.43. Git 2.53 removed `git whatchanged`, which the distro's `git-restore-mtime` package (version 2022.12) relies on. This causes `git-restore-mtime` to fail silently, leaving all source files with the checkout timestamp. With stale build cache objects, Make's dependency tracking can miss recompilation of files affected by header changes, leading to test failures from mismatched struct layouts.

Install `git-restore-mtime` v2025.08 directly from upstream, which uses `git log --raw` instead of `git whatchanged`.

Differential Revision: D100770813
@xuhdev xuhdev force-pushed the export-D100770813 branch from e037d43 to 3501406 Compare April 14, 2026 17:27
xuhdev added a commit to xuhdev/redex that referenced this pull request Apr 14, 2026
Summary:

The GitHub Actions runner ships Git 2.53, which is newer than Ubuntu 24.04's default Git 2.43. Git 2.53 removed `git whatchanged`, which the distro's `git-restore-mtime` package (version 2022.12) relies on. This causes `git-restore-mtime` to fail silently, leaving all source files with the checkout timestamp. With stale build cache objects, Make's dependency tracking can miss recompilation of files affected by header changes, leading to test failures from mismatched struct layouts.

Install `git-restore-mtime` v2025.08 directly from upstream, which uses `git log --raw` instead of `git whatchanged`.

Differential Revision: D100770813
@xuhdev xuhdev force-pushed the export-D100770813 branch from 3501406 to e1431da Compare April 14, 2026 17:29
xuhdev added a commit to xuhdev/redex that referenced this pull request Apr 14, 2026
Summary:

The GitHub Actions runner ships Git 2.53, which is newer than Ubuntu 24.04's default Git 2.43. Git 2.53 removed `git whatchanged`, which the distro's `git-restore-mtime` package (version 2022.12) relies on. This causes `git-restore-mtime` to fail silently, leaving all source files with the checkout timestamp. With stale build cache objects, Make's dependency tracking can miss recompilation of files affected by header changes, leading to test failures from mismatched struct layouts.

Install `git-restore-mtime` v2025.08 directly from upstream, which uses `git log --raw` instead of `git whatchanged`.

Differential Revision: D100770813
@xuhdev xuhdev force-pushed the export-D100770813 branch from e1431da to f560cb0 Compare April 14, 2026 17:44
xuhdev added a commit to xuhdev/redex that referenced this pull request Apr 14, 2026
Summary:

The GitHub Actions runner ships Git 2.53, which is newer than Ubuntu 24.04's default Git 2.43. Git 2.53 removed `git whatchanged`, which the distro's `git-restore-mtime` package (version 2022.12) relies on. This causes `git-restore-mtime` to fail silently, leaving all source files with the checkout timestamp. With stale build cache objects, Make's dependency tracking can miss recompilation of files affected by header changes, leading to test failures from mismatched struct layouts.

Install `git-restore-mtime` v2025.08 directly from upstream, which uses `git log --raw` instead of `git whatchanged`.

Differential Revision: D100770813
@xuhdev xuhdev force-pushed the export-D100770813 branch from f560cb0 to 5bb6292 Compare April 14, 2026 18:14
xuhdev added 2 commits April 14, 2026 11:15
Summary: Invalidate all existing build caches to ensure a clean rebuild. This is needed because a broken `git-restore-mtime` (fixed in the next diff) may have produced cache entries with incorrect timestamps, causing Make to skip recompilation of translation units affected by header changes.

Differential Revision: D100840924
Summary:

The GitHub Actions runner ships Git 2.53, which is newer than Ubuntu 24.04's default Git 2.43. Git 2.53 removed `git whatchanged`, which the distro's `git-restore-mtime` package (version 2022.12) relies on. This causes `git-restore-mtime` to fail silently, leaving all source files with the checkout timestamp. With stale build cache objects, Make's dependency tracking can miss recompilation of files affected by header changes, leading to test failures from mismatched struct layouts.

Install `git-restore-mtime` v2025.08 directly from upstream, which uses `git log --raw` instead of `git whatchanged`.

Differential Revision: D100770813
@xuhdev xuhdev force-pushed the export-D100770813 branch from 5bb6292 to f6dbed0 Compare April 14, 2026 18:15
meta-codesync bot pushed a commit that referenced this pull request Apr 16, 2026
Summary:
Pull Request resolved: #983

The GitHub Actions runner ships Git 2.53, which is newer than Ubuntu 24.04's default Git 2.43. Git 2.53 removed `git whatchanged`, which the distro's `git-restore-mtime` package (version 2022.12) relies on. This causes `git-restore-mtime` to fail silently, leaving all source files with the checkout timestamp. With stale build cache objects, Make's dependency tracking can miss recompilation of files affected by header changes, leading to test failures from mismatched struct layouts.

Install `git-restore-mtime` v2025.08 directly from upstream, which uses `git log --raw` instead of `git whatchanged`.

Reviewed By: agampe

Differential Revision: D100770813

fbshipit-source-id: 42622eca3ca9afb759060bdb9ba3dfb7cb7a3d67
@meta-codesync meta-codesync bot closed this in 1f29af7 Apr 16, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Apr 16, 2026

This pull request has been merged in 1f29af7.

@xuhdev xuhdev deleted the export-D100770813 branch April 16, 2026 01:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant