-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Remove copy_version_files.sh #100022
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
Remove copy_version_files.sh #100022
Conversation
Arcade provides this via the GenerateNativeVersionFile target, which we already call in various places. Lets remove this file. This file, if used, will also cause issues in a VMR build without a git repo. In that mode, git commands do not work, but Arcade and Source Link will still provide git commit and related information correctly.
|
This script is meant for bootstrapping scenarios where we don't have a .NET runtime available for the platform and for innerloop development where build-runtime.sh is invoked directly (without going through the root build script). Can we instead condition it to safely fail if it's in a VMR-like scenario? |
|
Thanks for that context! It doesn't seem to get invoked at all (or maybe it does but it doesn't have any effect) during a normal (aka top-level |
or just: if git status > /dev/null 2>&1; then
call_version_script
done
I think we can dedup it now, since |
I would prefer to avoid this. It's possible to attempt to build the git-archive of the VMR, while the |
|
|
I think @am11's idea here is good as it will also work in the Microsoft VMR build environment if that is ever necessary. |
|
I am not sure about that either. Chances are, devs are working in a git repo - if it isn't the VMR, it contains the scripts to create the VMR archive and/or build the VMR. So I think it would be better to make sure that this script is never called in a full/outloop/VMR scenario at all. |
|
I think it is fine not to support every perceivable scenario. We have only handful of runtime build scenarios which are supported and frequently tested. For VMR, another approach is add a fallback, something like
DOTNET_RUNTIME_COMMIT in VMR (there, we likely have that context in msbuild scripts which runtime commit is in use) and leave the call-sites intact (unconditioned).
|
|
set: dotnet/dotnet@main...am11:dotnet:patch-1 Something like that. |
Heh, we are actually trying to get rid of all those env vars (see dotnet/installer#18941), and use And actually, that's what brought me here with this PR 😄
Let me think over this a bit. |
|
I see. BTW, that Note that this script also updates SCCSID in runtime and diagnostics repos and altering this will require retesting those scenarios end-to-end. In addition to bootstrapping, libSOS in diagnostics actually depends on the value of that |
|
Backing up a bit:
In other words, it seems like there's nothing to do here and everything is already okay? |
|
Note: this file is currently annoying for WSL and cross compiling Android on Windows. I'd like to see it become more universally available. |
|
@huoyaoyuan, this script is only meaningful in the context of official product build (the one with @omajid, that sounds even better. Lets keep it as-is if it's not causing any issues. |
Arcade provides this via the GenerateNativeVersionFile target, which we already call in various places. Lets remove this file.
This file, if used, will also cause issues in a VMR build without a git repo. In that mode, git commands do not work, but Arcade and Source Link will still provide git commit and related information correctly.