Skip to content
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

Submodule checkout failure should short-circuit checks #4632

Closed
StephanTLavavej opened this issue Apr 27, 2024 · 0 comments · Fixed by #4687
Closed

Submodule checkout failure should short-circuit checks #4632

StephanTLavavej opened this issue Apr 27, 2024 · 0 comments · Fixed by #4687
Assignees
Labels
infrastructure Related to repository automation

Comments

@StephanTLavavej
Copy link
Member

Rarely, submodule checkout fails due to network issues. When this happens, the Checkout Submodule step doesn't report a failure to Azure Pipelines, so it continues to configure/build the STL and then run tests, which will fail horribly. This makes the cause of the failure harder to understand (especially for newer contributors who won't recognize this pattern), and wastes machine time.

Click to expand sample logs:
Starting: Checkout llvm-project Submodule
==============================================================================
Task         : PowerShell
Description  : Run a PowerShell script on Linux, macOS, or Windows
Version      : 2.237.5
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
==============================================================================
Generating script.
========================== Starting Command Output ===========================
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\a\_work\_temp\bc3f730b-fdc7-4723-9176-e19c9d80cc0c.ps1'"
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
Initialized empty Git repository in D:/a/_work/1/s/llvm-project/.git/
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>
From https://github.com/llvm/llvm-project
 * branch            2e2b6b53f5f63179b52168ee156df7c76b90bc71 -> FETCH_HEAD
error: RPC failed; curl 56 Failure when receiving data from the peer
error: 2334 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
fatal: could not fetch 0757c610be56f8aeb01980d95b3bb20f5532ccc2 from promisor remote
Finishing: Checkout llvm-project Submodule

Filing this as a reminder-to-self; I'll investigate when I get a chance. If I wanted to be very fancy, I could look into making failure perform a directory cleanup and automatic retry. (Rerunning flaky tests is an abomination, but retrying a network failure is morally reasonable.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Related to repository automation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant