Change:
Since the change from travis to azure pipelines some of the rust-std archives have DOS line endings in their script, which results in errors like the following when trying to execute: Running works around the issue for now. Not all archives have this issue. Specifically does. Possibly others as well, but our install process fails after the first error, so I am not sure. See mattgodbolt/compiler-explorer-image and mattgodbolt/compiler-explorer-image
Thanks for reporting this! A tentative fix for this landed in , hopefully tomorrow's nightlies will be fixed.
Still happening on :/
Oh, this is concerning, we'll need to look into it a bit more. Thanks for the update. modify labels: regression-from-stable-to-beta -regression-from-stable-to-nightly
May have been actually .. Double checking.
is also affected, does that mean src is now generated from Windows or this is broken even more than it seems?
This is caused by the Azure migration, as it started happening right after we switched nightlies production to it. The initial hypothesis was that git's on Windows was the culprit, but that landed days ago so we need to look deeper :/
The source tarball is generated by all the dist builders and uploaded each time, so the last dist builder to finish will be the one producing the final tarball. I think we see the error there just because our slower builders are all Windows at the moment.
Assigning myself to investigate in the next few days.
Relevant: https://git-
The fix should've landed in today's nightly. Thanks everyone for reporting this!
Just a note, you might want to spin up a beta build as well. was affected by this as well.
yes, beta is still not fixed. The fix was nominated for beta backport though, so once the team approves we will backport it to the beta branch.
We backported the change!

Discussion:
displayName: "Ensure build happens on C:/ instead of D:/" condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) <ins> - bash: git config --replace-all --global core.autocrlf false displayName: "Disable git automatic line ending conversion (on C:/)" </ins> # Download and install MSYS2, needed primarily for the test suite (run-make) but # also used by the MinGW toolchain for assembling things. #

# Azure's Windows image. Having the conversion enabled caused regressions both # in our test suite (it broke miri tests) and in the ecosystem, since we # started shipping install scripts with CRLF endings instead of the old LF. <ins> # # Note that we do this a couple times during the build as the PATH and current # user/directory change, e.g. when mingw is enabled. </ins> - bash: git config --global core.autocrlf false displayName: "Disable git automatic line ending conversion"

displayName: Enable IPv6 condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux')) <ins> # Disable automatic line ending conversion (again). On Windows, when we're # installing dependencies, something switches the git configuration directory or # re-enables autocrlf. We've not tracked down the exact cause -- and there may # be multiple -- but this should ensure submodules are checked out with the # appropriate line endings. - bash: git config --replace-all --global core.autocrlf false displayName: "Disable git automatic line ending conversion" </ins> # Check out all our submodules, but more quickly than using git by using one of # our custom scripts - bash: |

condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) displayName: Check out submodules (Windows) <ins> # See also the disable for autocrlf above, this just checks that it worked # # We check both in rust-lang/rust and in a submodule to make sure both are # accurate. Submodules are checked out significantly later than the main # repository in this script, so settings can (and do!) change between then. # # Linux (and maybe macOS) builders don't currently have dos2unix so just only # run this step on Windows. - bash: | set -x # print out the git configuration so we can better investigate failures in # the following git config --list --show-origin dos2unix -ih Cargo.lock src/tools/rust-installer/install-template.sh endings=$(dos2unix -ic Cargo.lock src/tools/rust-installer/install-template.sh) # if endings has non-zero length, error out if [ -n "$endings" ]; then exit 1 ; fi condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT')) displayName: Verify line endings are LF </ins> # Ensure the `aws` CLI is installed so we can deploy later on, cache docker # images, etc. - bash: |