-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Add fetchTags: false to all checkout steps in Azure Pipelines #122250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: elinor-fung <[email protected]>
|
FYI @agocke |
|
Note: We're backporting this to 10.0/9.0 in aspnetcore. I assume you'll want to backport this too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds the fetchTags: false parameter to all checkout steps in Azure Pipelines YAML files under eng/pipelines/, optimizing CI pipeline initialization by preventing unnecessary Git tag fetching during repository checkout.
- Adds
fetchTags: falseto 11 checkout steps across 9 pipeline configuration files - Improves pipeline performance without affecting build or test functionality
- Correctly excludes
eng/common/directory (managed by Arcade SDK)
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| eng/pipelines/libraries/stress/ssl.yml | Added fetchTags: false to 2 checkout steps (Linux and Windows jobs) |
| eng/pipelines/libraries/stress/http.yml | Added fetchTags: false to 2 checkout steps (Linux and Windows jobs) |
| eng/pipelines/libraries/run-test-job.yml | Added fetchTags: false to checkout step in test job template |
| eng/pipelines/libraries/fuzzing/deploy-to-onefuzz.yml | Added fetchTags: false to checkout step for OneFuzz deployment job |
| eng/pipelines/libraries/deploy-networking-echo-test-servers.yml | Added fetchTags: false to checkout step for network testing deployment |
| eng/pipelines/diagnostics/runtime-diag-job.yml | Added fetchTags: false to diagnostics repository checkout step |
| eng/pipelines/common/templates/runtimes/xplat-job.yml | Added fetchTags: false to checkout step in cross-platform runtime job template |
| eng/pipelines/common/global-build-job.yml | Added fetchTags: false to checkout step in global build job template |
| eng/pipelines/common/evaluate-paths-job.yml | Added fetchTags: false to checkout step for path evaluation job |
|
/backport to release/10.0 |
|
Started backporting to |
|
/backport to release/9.0-staging |
|
Started backporting to |
|
@elinor-fung backporting to git am output$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch
Creating an empty commit: Initial plan
Applying: Add fetchTags: false to all checkout steps in Azure Pipelines YAML files
Using index info to reconstruct a base tree...
M eng/pipelines/common/global-build-job.yml
M eng/pipelines/common/templates/runtimes/xplat-job.yml
A eng/pipelines/diagnostics/runtime-diag-job.yml
A eng/pipelines/libraries/deploy-networking-echo-test-servers.yml
M eng/pipelines/libraries/fuzzing/deploy-to-onefuzz.yml
M eng/pipelines/libraries/run-test-job.yml
M eng/pipelines/libraries/stress/http.yml
M eng/pipelines/libraries/stress/ssl.yml
Falling back to patching base and 3-way merge...
Auto-merging eng/pipelines/common/global-build-job.yml
Auto-merging eng/pipelines/common/templates/runtimes/xplat-job.yml
CONFLICT (modify/delete): eng/pipelines/diagnostics/runtime-diag-job.yml deleted in HEAD and modified in Add fetchTags: false to all checkout steps in Azure Pipelines YAML files. Version Add fetchTags: false to all checkout steps in Azure Pipelines YAML files of eng/pipelines/diagnostics/runtime-diag-job.yml left in tree.
CONFLICT (modify/delete): eng/pipelines/libraries/deploy-networking-echo-test-servers.yml deleted in HEAD and modified in Add fetchTags: false to all checkout steps in Azure Pipelines YAML files. Version Add fetchTags: false to all checkout steps in Azure Pipelines YAML files of eng/pipelines/libraries/deploy-networking-echo-test-servers.yml left in tree.
Auto-merging eng/pipelines/libraries/fuzzing/deploy-to-onefuzz.yml
Auto-merging eng/pipelines/libraries/run-test-job.yml
Auto-merging eng/pipelines/libraries/stress/http.yml
Auto-merging eng/pipelines/libraries/stress/ssl.yml
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0002 Add fetchTags: false to all checkout steps in Azure Pipelines YAML files
Error: The process '/usr/bin/git' failed with exit code 128 |

Description
Adds
fetchTags: falseto all 11checkout:steps across 9 Azure Pipelines YAML files ineng/pipelines/. This prevents unnecessary Git tag fetching during repository checkout, optimizing CI pipeline initialization time.Customer Impact
None. Internal CI optimization only.
Regression
No. This is a performance optimization, not a bug fix.
Testing
YAML syntax validated. No functional changes to build or test processes.
Risk
Low. The
fetchTags: falseparameter only affects what Git metadata is fetched during checkout. Build and test logic remain unchanged. Tags are not required for any existing pipeline functionality.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.