From 4084a5ac13ba79249b1717c138e5140a76acc44a Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Tue, 10 Feb 2026 12:52:42 +0100 Subject: [PATCH] ci: Restore mtime of source files to the git log time (#48607) Release Notes: - N/A --- .github/workflows/release.yml | 36 +++++++++++++++++++ .github/workflows/release_nightly.yml | 24 +++++++++++++ .github/workflows/run_bundling.yml | 18 ++++++++++ .github/workflows/run_tests.yml | 21 +++++++++++ .../xtask/src/tasks/workflows/run_bundling.rs | 9 +++-- .../xtask/src/tasks/workflows/run_tests.rs | 9 +++-- tooling/xtask/src/tasks/workflows/steps.rs | 8 +++++ 7 files changed, 119 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7817289f84d3cc78cabc9101a551e6755d350863..6d75b01ddff61a8600de8e0032cd572d571f6ae8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,6 +17,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -49,6 +52,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -95,6 +101,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | New-Item -ItemType Directory -Path "./../.cargo" -Force @@ -124,6 +133,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -144,6 +156,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -170,6 +185,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | New-Item -ItemType Directory -Path "./../.cargo" -Force @@ -240,6 +258,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: @@ -280,6 +301,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: @@ -325,6 +349,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 with: @@ -370,6 +397,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 with: @@ -419,6 +449,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: @@ -464,6 +497,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 942f39c45266122e5a8919b3daea9e7e5d82c252..126540e217311bb00d78118921a16e9dbfbc2b68 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -33,6 +33,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | New-Item -ItemType Directory -Path "./../.cargo" -Force @@ -62,6 +65,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | New-Item -ItemType Directory -Path "./../.cargo" -Force @@ -86,6 +92,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: run_bundling::set_release_channel_to_nightly run: | set -eu @@ -132,6 +141,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: run_bundling::set_release_channel_to_nightly run: | set -eu @@ -183,6 +195,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: run_bundling::set_release_channel_to_nightly run: | set -eu @@ -234,6 +249,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: run_bundling::set_release_channel_to_nightly run: | set -eu @@ -289,6 +307,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: run_bundling::set_release_channel_to_nightly run: | $ErrorActionPreference = "Stop" @@ -342,6 +363,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: run_bundling::set_release_channel_to_nightly run: | $ErrorActionPreference = "Stop" diff --git a/.github/workflows/run_bundling.yml b/.github/workflows/run_bundling.yml index 7f0ad57b51f71ddcce2ee17a020de7f4e0eef013..02be483e04562e0f9b9d0d4927040ab21b978b6f 100644 --- a/.github/workflows/run_bundling.yml +++ b/.github/workflows/run_bundling.yml @@ -24,6 +24,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: @@ -63,6 +66,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: @@ -107,6 +113,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 with: @@ -151,6 +160,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_node uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 with: @@ -199,6 +211,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: @@ -243,6 +258,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_sentry uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b with: diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index dd0eee2efe0fbdb6d7cc8ad9d046cce5a81aaf4e..99834c0db63a85f81f22b5daa78485beb5f7db3a 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -151,6 +151,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | New-Item -ItemType Directory -Path "./../.cargo" -Force @@ -170,6 +173,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -198,6 +204,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -220,6 +229,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | New-Item -ItemType Directory -Path "./../.cargo" -Force @@ -251,6 +263,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -299,6 +314,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo @@ -333,6 +351,9 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 with: clean: false + fetch-depth: 0 + - name: steps::restore_mtime + uses: zed-industries/git-restore-mtime-action@72cefcf20b50bf4fcd74ea8a0d2927b0680e2114 - name: steps::cache_rust_dependencies_namespace uses: namespacelabs/nscloud-cache-action@v1 with: diff --git a/tooling/xtask/src/tasks/workflows/run_bundling.rs b/tooling/xtask/src/tasks/workflows/run_bundling.rs index bdeec783476795370c78948ef678fda3a41cab3f..17b1f021b8ef43fde170f8ded1a5f73fc6f1bcc6 100644 --- a/tooling/xtask/src/tasks/workflows/run_bundling.rs +++ b/tooling/xtask/src/tasks/workflows/run_bundling.rs @@ -73,7 +73,8 @@ pub(crate) fn bundle_mac( job: bundle_job(deps) .runs_on(runners::MAC_DEFAULT) .envs(bundle_envs(platform)) - .add_step(steps::checkout_repo()) + .add_step(steps::checkout_repo().add_with(("fetch-depth", 0))) + .add_step(steps::restore_mtime()) .when_some(release_channel, |job, release_channel| { job.add_step(set_release_channel(platform, release_channel)) }) @@ -124,7 +125,8 @@ pub(crate) fn bundle_linux( job: bundle_job(deps) .runs_on(arch.linux_bundler()) .envs(bundle_envs(platform)) - .add_step(steps::checkout_repo()) + .add_step(steps::checkout_repo().add_with(("fetch-depth", 0))) + .add_step(steps::restore_mtime()) .when_some(release_channel, |job, release_channel| { job.add_step(set_release_channel(platform, release_channel)) }) @@ -164,7 +166,8 @@ pub(crate) fn bundle_windows( job: bundle_job(deps) .runs_on(runners::WINDOWS_DEFAULT) .envs(bundle_envs(platform)) - .add_step(steps::checkout_repo()) + .add_step(steps::checkout_repo().add_with(("fetch-depth", 0))) + .add_step(steps::restore_mtime()) .when_some(release_channel, |job, release_channel| { job.add_step(set_release_channel(platform, release_channel)) }) diff --git a/tooling/xtask/src/tasks/workflows/run_tests.rs b/tooling/xtask/src/tasks/workflows/run_tests.rs index d474f4c08758abb11864458ffaaf39538017858b..d0f4ea2e0dff856f3859ac9acb83f18c1ea8fb79 100644 --- a/tooling/xtask/src/tasks/workflows/run_tests.rs +++ b/tooling/xtask/src/tasks/workflows/run_tests.rs @@ -384,7 +384,8 @@ pub(crate) fn clippy(platform: Platform) -> NamedJob { name: format!("clippy_{platform}"), job: release_job(&[]) .runs_on(runner) - .add_step(steps::checkout_repo()) + .add_step(steps::checkout_repo().add_with(("fetch-depth", 0))) + .add_step(steps::restore_mtime()) .add_step(steps::setup_cargo_config(platform)) .when( platform == Platform::Linux || platform == Platform::Mac, @@ -430,7 +431,8 @@ fn run_platform_tests_impl(platform: Platform, filter_packages: bool) -> NamedJo ), ) }) - .add_step(steps::checkout_repo()) + .add_step(steps::checkout_repo().add_with(("fetch-depth", 0))) + .add_step(steps::restore_mtime()) .add_step(steps::setup_cargo_config(platform)) .when( platform == Platform::Linux || platform == Platform::Mac, @@ -513,7 +515,8 @@ fn doctests() -> NamedJob { named::job( release_job(&[]) .runs_on(runners::LINUX_DEFAULT) - .add_step(steps::checkout_repo()) + .add_step(steps::checkout_repo().add_with(("fetch-depth", 0))) + .add_step(steps::restore_mtime()) .add_step(steps::cache_rust_dependencies_namespace()) .map(steps::install_linux_dependencies) .add_step(steps::setup_cargo_config(Platform::Linux)) diff --git a/tooling/xtask/src/tasks/workflows/steps.rs b/tooling/xtask/src/tasks/workflows/steps.rs index c78a762b9f020c68e6c0362f275d095d4c18d249..27244d816abc649785f7b855e84e865d9f4c127b 100644 --- a/tooling/xtask/src/tasks/workflows/steps.rs +++ b/tooling/xtask/src/tasks/workflows/steps.rs @@ -47,6 +47,14 @@ impl From for Step { } } +pub fn restore_mtime() -> Step { + named::uses( + "zed-industries", + "git-restore-mtime-action", + "72cefcf20b50bf4fcd74ea8a0d2927b0680e2114", + ) +} + pub fn checkout_repo() -> Step { named::uses( "actions",