Граф коммитов

7594 Коммитов

Автор SHA1 Сообщение Дата
Marcelo Lynch 9f084dbcb4 Merged PR 813103: [BuildXL installer] "Worker mode" for distributed builds, and pipeline with integration tests
Add an 'orchestrator' and 'worker' mode to the BuildXLNugetInstaller so that the version is decided only on a single agent in a distributed build: this avoids race conditions between the agents when resolving a version.

In the future this strategy might be adopted to the configuration download itself, but for that a prerequisite is that the configuration is distributed in a versioned manner (like Nuget), so for now it is good enough to keep this logic as specific to the BuildXL installer.

This PR also adds an integration pipeline to test the installer before releasing. This pipeline exercises a straightforward flow and also the worker-orchestrator consistency when using the distributed mode.
2024-11-06 22:55:05 +00:00
Sahiti Chandramouli 56934550f2 Merged PR 813750: Changes to APH version
Changes to APH version, passed all validations.
Also do not see any issues with the package in Ubuntu 24.04.
The globalization issue seen earlier with the older version of APH has also been resolved.

Related work items: #2227478
2024-11-06 20:20:55 +00:00
Sahiti Chandramouli 668513576a Merged PR 813742: Changes to publish nuget packages
Changes to publish nuget packages
2024-11-06 01:20:25 +00:00
Sahiti Chandramouli 43b463178a Merged PR 813669: Correct the file path in appHostPatcher pipeline.yml
Add absolute path instead of relative path.
2024-11-05 22:55:19 +00:00
Serge Mera 550ddfe8df Merged PR 813694: Produce an error file for Yarn and Lage resolvers
Produce an error file for Yarn and Lage resolvers (so they are at par with the Rush resolver).
Make this change in behavior under an optional argument, so we don't break Office consumption
2024-11-05 21:45:05 +00:00
Qi Wang c43d763f61 Merged PR 813662: Updated Release-Notes.md
Updated Release-Notes.md
2024-11-05 20:53:21 +00:00
BuildXL-Pipelines 2430e14f41 Merged PR 813392: Update NOTICE.txt
[skip ci]
2024-11-05 19:35:44 +00:00
BuildXL-Pipelines cddc100023 Merged PR 813394: Update Packages
Update packages: Microsoft.ComponentDetection.Contracts 5.1.5 -> 5.1.7
2024-11-05 19:34:50 +00:00
Serge Mera bee2891ee4 Merged PR 813494: Only restrict read accesses for existing probes and file reads
Only restrict read accesses for existing probes and file reads

Related work items: #2228067
2024-11-05 19:15:25 +00:00
Sahiti Chandramouli 6d6ab5d1f4 Merged PR 813637: Modify nuget publish command
Modify nuget publish command- use output - nuget instead of NuGetCommand@2

Related work items: #2227478
2024-11-05 17:54:26 +00:00
Sahiti Chandramouli 200e5b7b32 Merged PR 813415: Upgrade AppHostPatcher to .net 8
Create a pipeline to build and publish AppHostPatcher.
Tested the changes in this sample pipeline
https://dev.azure.com/mseng/Domino/_build/results?buildId=29275773&view=artifacts&pathAsName=false&type=publishedArtifacts

Related work items: #2227478
2024-11-04 23:48:07 +00:00
Oleksii Kononenko 39b50d605d Merged PR 812861: MaterializationDaemon - classify external parser errors as user errors and log more data
MaterializationDaemon - classify external parser errors as user errors and log more data
2024-11-01 23:12:33 +00:00
Marcelo Lynch 9561b49669 Merged PR 812625: Improve user friendliness of pip timeout arguments
Allows the arguments to be specified with a time unit, and also logs it with an assumed friendlier unit instead of milliseconds
2024-11-01 18:36:13 +00:00
Serge Mera 66beb05120 Merged PR 812680: Add interactive device auth support for Linux
When bxl is running under Linux without an X server available, the regular interactive browser credential is not an option for doing cache auth. Use device code authentication on that case.
2024-10-31 17:22:36 +00:00
Pasindu Gunasekara 🍣 3381b87183 Merged PR 812898: Downgrade System.Security.Principal.Windows to 5.0.0.0
- Version 6.0.0.0 got delisted from nuget.org at some point, but continued to work because our ADO feed cached it from nuget.org.
2024-10-31 17:05:50 +00:00
Marcelo Lynch 🧉 3e5e5f1f9a Merged PR 812670: Prevent terminations and warnings for single-machine retries on ADO
Prevent terminations and warnings for single-machine retries on ADO
2024-10-30 23:16:22 +00:00
Marcelo Lynch 🧉 e39582240c Merged PR 812401: Request a particular worker id as an ADO worker
Align the worker id with what is shown in the ADO pipelines UI (worker #1 at the top, log names, etc.). Do this by using the predefined System.JobPositionInPhase variable to select a particular worker id

Related work items: #2226709
2024-10-29 21:47:00 +00:00
Ben Witman f86020f1f6 Merged PR 809409: Don't create Process class when dumping processes in job object
BuildXL is not able to dump a hung process due to "Process with an Id of N is not running" but the `GetExitCodeProcess` call just before didn't return success and it just created a handle so I'm pretty sure this case wasn't a race condition.  Using this PR's changes I confirmed that the process was in fact running and that `Process.GetProcessById` was too earnest in its diagnosis that the process was complete.  I was able to dump it without this method and so avoiding this call may be the best way to capture these kinds of process dumps.

Related work items: #2221778
2024-10-29 00:07:27 +00:00
BuildXL-Pipelines 67c9ecdec0 Merged PR 812373: Update BuildXL LKG Version to 0.1.0-20241025.4
[skip ci]
2024-10-28 17:40:20 +00:00
Qi Wang 7e87663706 Merged PR 810928: Support CAS on separate mount than outputs on Linux
This pull request addresses two bugs encountered when the Content Addressable Storage (CAS) is mounted separately from the outputs on Linux:

1. Temporary File Deletion: If TryInKernelFileCopyAsync fails, the temporary file is now deleted. Previously, this temp file would prevent CopyWithStreamAsync from copying the file.
2. Hardlink Creation: When creating a hardlink for content already in the cache, the process attempts to delete the original file and replace it with a new one that includes the hardlink. If this operation fails, the original file was being deleted. And the fallback to copying would return true because the content is already in the store, but the pip would fail in future operations due to the missing file. Now, if the file is deleted, the original file is re-created using the existing content from the cache.

Related work items: #2216529, #2219745
2024-10-25 23:06:30 +00:00
MerlinBot 288310198b This pull request includes baselines **with an expiration date of 180 days from now** automatically generated for your 1ES PT-based pipelines. Complete this pull request as soon as possible to make sure that your pipeline becomes compliant. Longer delays in completing this PR can trigger additional emails or S360 alerts in the future.
1ES PT Auto-baselining feature helps capture existing violations in your repo and ensures to break your pipeline only for newly introduced SDL violations after baselining. Running SDL tools in break mode is required for your pipeline to be compliant. Go to https://aka.ms/1espt-autobaselining for more details.
**Please do not Abandon this PR.** Please reach out to 1ES PT for support. More details: https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-pipeline-templates/support
2024-10-25 23:01:02 +00:00
Sahiti Chandramouli 9bf222ce03 Merged PR 812118: Make a successful pip uncacheable using exit codes
Added uncacheableExitCodes property to Process.cs
This prevents caching of a successful pip.
Added a corresponding integration unit test.

Related work items: #2210032
2024-10-25 22:04:16 +00:00
Michael Pysson 107064c892 Merged PR 812102: Stop warning on every memory related pip retry
In various environments we hit some amount of pip cancellation and retrying due to memory throttling. This happening at a low level is not necessarily problematic and shouldn't be in the end user's face. Demote those messages to verbose and log if the total count passes a threshold.
2024-10-25 17:48:18 +00:00
Marcelo Lynch 🧉 f59ef87141 Merged PR 812080: Suppress console redirection in workers
We suppress end-user-facing logs in the workers even if they are selected for console redirection. Note that these events are always forwarded to the orchestrator so they *will* end up in the orchestrator console anyway
2024-10-25 16:40:38 +00:00
Lance Collins a053b66b3d Merged PR 811848: Assume content is available for existing entries during AddOrGetContentHashList
Currently, content hash lists are always replaced in Blob L3 implementation because AutomaticallyOverwriteContentHashLists is set to false. AutomaticallyOverwriteContentHashLists is poorly named but setting it false indicates that the content session should not be used to pin content to check availability to prevent replacing content hash lists with available content. The end result is that content hash lists are always replaced. The negatively impacts graph caching and pip caching, because concurrent runs generating same fingerprint will overwrite each other rather than converging. Graph caching is even more impacted because it relies entries not being replaced for its fingerprint chaining. This means that similar builds which generate the same initial graph fingerprint but ultimately have different graph fingerprints  continuously stomp over each other.
2024-10-25 00:43:16 +00:00
Serge Mera 2b9e2f23d8 Merged PR 812049: Do not change the default of /pipTimeoutMultiplier under ADO
Making the default on ADO 3 makes /pipDefaultTimeout to be silently multiplied by 3, which is pretty confusing. In addition to that, we have no reasons to think that builds on ADO take longer than in non-ADO environments.

Last 30 days of builds on ADO not passing an explicit multiplier:
Execute: [Web] [Desktop] [Web (Lens)] [Desktop (SAW)] https://cbuild.kusto.windows.net/b73924d6ec544e76a97c39510c054b21

**Customer**
domoreexp-teams-modular-packages
mseng-BuildXL.Internal
microsoft-OSGTools

* Teams (domoreexp) is now passing an explicit timeout (at some point they were not, and that's why the query picks it up).
* Our own bxl internal builds should be good with the change
* We ran a forced clean build under OSGTools and validated that with /pipTimeoutMultiplier:1 they are still green.
2024-10-24 22:44:10 +00:00
BuildXL-Pipelines 1d78e0518e Merged PR 811968: Update BuildXL LKG Version to 0.1.0-20241023.1
[skip ci]
2024-10-24 17:42:11 +00:00
Oleksii Kononenko 3520c356a1 Merged PR 811648: Update MessagePack package dependency
Update MessagePack package dependency

Related work items: #2224233
2024-10-23 22:18:50 +00:00
Serge Mera 227345eb0e Merged PR 811829: Updated Release-Notes.md
Updated Release-Notes.md
2024-10-23 21:52:44 +00:00
Marcelo Lynch 🧉 9509d135ab Merged PR 808875: BuildXL installer for 1ESPT (MVP)
Initial implementation of a build tools installer to be run in pipeline templates to acquire BuildXL and provide versioning through some global configuration.

This is meant to be distributed as a standalone package. This PR builds an MVP that we can roll out to some onboarding customers to try out (in experimental scenarios so far).
2024-10-22 23:01:24 +00:00
Serge Mera f63a7bbeaa Merged PR 811390: Make SBOM & Drop daemon net8.0 only
Newest SBOM packages are net8.0 only. Make SBOM consumers (mainly DropDaemon) net8.0 only as well.
2024-10-21 23:31:49 +00:00
Sahiti Chandramouli 0725f3a147 Merged PR 810882: Handle retained engine output directories
Engine output directories are retained in some builds which is causing BXL to crash.

Ex: BuildXLCurrentLog directory which is to be deleted towards the end of the build is retained for the next build causing an issue.

This is handled by ensuring that we rename this retained folder and create a new directory.
Added a unit test to check the scenario.

Attaching the previous PR.
https://dev.azure.com/mseng/Domino/_git/BuildXL.Internal/pullrequest/805664

Related work items: #2188585
2024-10-21 21:59:30 +00:00
BuildXL-Pipelines e74ec9e69f Merged PR 811313: Update BuildXL LKG Version to 0.1.0-20241018.3
[skip ci]
2024-10-21 18:23:32 +00:00
BuildXL-Pipelines e74cd360e5 Merged PR 811281: Update NOTICE.txt
[skip ci]
2024-10-21 18:00:15 +00:00
Serge Mera 2eb65416e7 Merged PR 811162: Add lage-server as a breakaway process in the lage pip constructor
Add lage-server as a breakaway process in the lage pip constructor
2024-10-19 01:05:29 +00:00
Michael Pysson 77a6d95746 Merged PR 810679: Don't generate build summary markdown on distributed workers
Don't generate build summary markdown on distributed workers

Related work items: #2223744
2024-10-18 19:32:19 +00:00
John Erickson db9ad25a54 Merged PR 809969: FlushAsync so we don't block on IO during synchronous Dispose
FlushAsync so we don't block on IO during synchronous Dispose
2024-10-17 21:56:55 +00:00
Serge Mera bc3acc0379 Merged PR 810161: Add WAM support to cache client interactive auth (Windows only)
Add WAM support to cache client interactive auth (Windows only)
2024-10-17 18:26:41 +00:00
Michael Pysson a263b48590 Merged PR 809921: Remove ICM dependencies
Remove ICM dependencies
2024-10-17 18:00:52 +00:00
Oleksii Kononenko 0adbc260a6 Merged PR 810654: Update release notes
Update release notes
2024-10-17 01:06:37 +00:00
Oleksii Kononenko c37eac7d48 Merged PR 810440: Fix Context.isWindowsOS calls in specs
`Context.isWindowsOS` is accepted by DScript as a legit value, while obviously being a typo. Due to the typescript nature of DScript, when `Context.isWindowsOS` is evaluated, it's evaluated to `true`. This PR fixes a few ternary conditionals where we were always getting the first value.
2024-10-16 17:21:59 +00:00
Oleksii Kononenko e087f88a0a Merged PR 810220: Build and deploy DropDaemon on Linux
Build and deploy DropDaemon on Linux

Related work items: #2218813
2024-10-15 23:00:34 +00:00
Michael Pysson ab0b9632d6 Merged PR 810099: Disable CodeQL for External PR pipeline
There's a separate pipeline configured to run this
2024-10-14 19:31:51 +00:00
BuildXL-Pipelines b3fc445ade Merged PR 809973: Update BuildXL LKG Version to 0.1.0-20241011.6
[skip ci]
2024-10-13 19:44:58 +00:00
Michael Pysson 49afda4542 Merged PR 809927: Update System.Text.Json
Update System.Text.Json

Related work items: #2221670
2024-10-11 23:19:39 +00:00
Michael Pysson 5749a4028a Merged PR 809920: Dereference dependency unnecessary for public build
Unreference dependency unnecessary for public build
2024-10-11 22:18:21 +00:00
Serge Mera e0df80fdb7 Merged PR 809909: Add support to breakaway based on command line args
Add support to breakaway based on command line args
2024-10-11 21:26:45 +00:00
Qi Wang 95abe72d77 Merged PR 808947: Change public external feed to @ dev.azure.com/PipelineTools
Change public external feed to @ dev.azure.com/PipelineTools

Manually change the feed in BuildXLLkgVersionPublic.cmd since release pipeline only change the version

Related work items: #2217690
2024-10-11 20:57:29 +00:00
Serge Mera f792fe6d32 Merged PR 809758: Ensure directory exists for interactive auth token
Ensure directory exists for interactive auth token
2024-10-11 17:05:54 +00:00
BuildXL-Pipelines 7d297911f8 Merged PR 809774: Update BuildXL LKG Version to 0.1.0-20241009.1
[skip ci]
2024-10-11 02:40:33 +00:00