-
Notifications
You must be signed in to change notification settings - Fork 737
remove file share dependency for buildinfo.json file and download the file from artifacts during release #3856
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
|
|
nkolev92
left a comment
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.
This change is fine, so approving.
I have more feedback about the release definition rather than this change in particular.
Can the release definition be updated so it downloads the file itself? Can we have an artifact that gets consumed by the release definition?
I'd like to avoid manual actions unless absolutely necessary.
Another thing to consider is that often we want to change the target branch, so adding the capability into the release definition natively might be a great thing.
The changes that I proposed to the release template in the PR description have to done one time. Yes, artifacts can be downloaded by the release pipeline. Please refer to the screenshot in the PR description where I tried to explain how this can be achieved.
AFAIK, we have that capability to edit VS target branch in the current release definition. Refer to
We can simplify the above steps by enabling an option to set |
zivkan
left a comment
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.
Since our builds have been publishing buildinfo.json as a build artifact for months/years, I suggest modifying the release pipeline before merging this PR.
|
@zivkan - I modified the release pipeline. see commit history |
I think that'd be great.
I think we should totally do that. I misread the description. |

Bug
Fixes: https://github.com/NuGet/Client.Engineering/issues/394
Regression: No
Fix
Modified CI scripts to remove file share dependency for
buildinfo.jsonfile. The following build step runs theConfigureVstsBuild.ps1.I have removed logic to support
-SkipUpdateBuildNumberswitch in theConfigureVstsBuild.ps1script as I found it redundant, and we always pass this switch to the command. Happy to bring to back based on the feedback.NuGet.Client/build/templates/Build_and_UnitTest.yml
Line 37 in b293bd5
For e.g.
Build_and_UnitTest_NonRTM- https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=4378624&view=logs&j=2ea8c801-c4c3-578e-0ff0-bcf4c12d9404&t=ca35e91d-75ae-5ed4-785b-bfd3ac3f2ddd&l=9Build_and_UnitTest_RTM- https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=4378624&view=logs&j=3662048e-4e2d-5ad0-bcc2-35d49e82de1c&t=f7bff3ac-56d9-56f8-3e0e-88c5057834ef&l=9With this change
buildinfo.jsonwill not be stored on the file share and we already have a build step to publish the file to Artifcats.NuGet.Client/build/templates/Build_and_UnitTest.yml
Lines 40 to 46 in b293bd5
For e.g., https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=4389897&view=artifacts&pathAsName=false&type=publishedArtifacts (
buildinfo.jsonhas been published to build artifacts)AFAIK,
buildinfo.jsonis read from the file share in NuGet.Client Release pipeline. I propose following changes to the pipeline definition to readbuildinfo.jsonfile from build artifacts.buildinfo.jsonfile from build artifacts. ChangeInsert into VStask as shown below. Thank you @dominoFire for teaching me on how to download build artifacts in the release pipeline.Get VS Target Branchscript to readbuildinfo.jsonfrom$(System.ArtifactsDirectory).Get Assembly Versionscript to readbuildinfo.jsonfrom$(System.ArtifactsDirectory).Details:
Testing/Validation
Tests Added: No
Reason for not adding tests: Modified CI scripts.
Validation: Manual validation (Hopefully VS insertion completes successfully)