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

7669 Коммитов

Автор SHA1 Сообщение Дата
Qi Wang 3d62533bbb Merged PR 814349: Expose warning/error regex to the JS resolver family
Expose warning/error regex to the JS resolver family

Related work items: #2224422
2024-11-14 01:43:48 +00:00
Marcelo Lynch abad034138 Merged PR 815225: Use default upstream feed in installer validation
The upstream is now set up, we don't need a manual feed override.
Also change properties to camelCase to standardize.
2024-11-14 01:18:28 +00:00
Qi Wang f3a723fd0d Merged PR 814881: Update process default timeout and warning timeout document
Update process default timeout and warning timeout document
2024-11-14 00:10:43 +00:00
Serge Mera 9ee9d9c919 Merged PR 814384: Update nuget references
Update nuget references so the whole closure is within the specified version ranges. After we get the new LKG we can turn off `doNotEnforceDependencyVersions: true`
2024-11-13 22:23:35 +00:00
Marcelo Lynch 7a0cc56aee Merged PR 814368: ConfigCop for AdoBuildConfig
Add a tool that validates the configuration to be deployed to AdoBuildConfig. This will be used to gate changes in that repository so that we always deploy configurations compatible with the installer.

Usage: `1ES.BuildToolsInstaller.Exe configcop --path <path-to-config-to-validate>`
2024-11-13 22:17:34 +00:00
BuildXL-Pipelines 741e0a2f18 Merged PR 814505: Update NOTICE.txt
[skip ci]
2024-11-13 20:57:56 +00:00
Michael Pysson 4353b3016f Merged PR 814918: Disable dev cache while backend moves
Disable dev cache while backend moves
2024-11-13 00:44:19 +00:00
Michael Pysson 12c81035b5 Merged PR 814921: Stop dev cache publishing build
Stop dev cache publishing build
2024-11-13 00:44:17 +00:00
Michael Pysson 9c1219816e Merged PR 814900: Delete more outputs of linux build to speed up 1ESPT
Delete more outputs of linux build to speed up 1ESPT
2024-11-12 23:45:54 +00:00
Marcelo Lynch 0b8697e1db Merged PR 814892: Minor logging tweaks in AdoBuildRunner
- Stop logging some messages from the era when the "worker pipeline" was the default
- Add a message to show progress when retrieving build properties
2024-11-12 23:17:29 +00:00
Julian Bayardo Spadafora 8f0a39cd88 Merged PR 814606: Make sure we dispose all Azurite instances
Make sure we dispose all Azurite instancex
2024-11-12 23:14:52 +00:00
Serge Mera 4600965f85 Merged PR 814620: [Nuget] Do not complain about dependencies out of range when the dependency is skipped or ignored
Do not complain about dependencies out of range when the dependency is skipped/ignored
2024-11-12 17:31:31 +00:00
Michael Pysson de78a3dd6c Merged PR 814612: Fix crash in assert message
PathAtom.ToString() is unimplemented. It needs a StringTable
2024-11-12 00:47:15 +00:00
BuildXL-Pipelines 276b356ebe Merged PR 814553: Update BuildXL LKG Version to 0.1.0-20241109.1
[skip ci]
2024-11-12 00:22:32 +00:00
BuildXL-Pipelines f5e82e8eaa Merged PR 814568: Update BuildXL LKG Version to 0.1.0-20241109.1
[skip ci]
2024-11-11 21:29:46 +00:00
Michael Pysson 9dbcdba78f Merged PR 814385: Clean up output stream handling to prevent running out of memory
Generally, output streams are handled in chunks to prevent them from reading everything into memory at once. But there was a check added back in commit 0167f82124 which violated this for sake of doing some checks for whether the output was truncated. This change reworks that handling to prevent it from calling ReadValueAsync() which reads in the entire stream.

I also changed ReadValueAsync to truncate rather than OOM as it is called in a number of places where we probably don't want to bother having elaborate chunking behavior.

Related work items: #2229870
2024-11-11 17:56:26 +00:00
Oleksii Kononenko d6c433bc26 Merged PR 812315: Add a simple example for graph fragments
Add a simple example for graph fragments
2024-11-11 17:25:54 +00:00
Michael Pysson 04e8421b7c Merged PR 813656: Add ImmediateWorkerRelease mode for AB testing worker counts
We'd like to run some worker count experiments for Windows builds. We don't currently have a way to have CloudBuild do this, so a workaround is to utilize the engine's abtest flag with a mode that immediately releases a configurable number of workers.

This is wasteful since it will waste some machine time preparing a worker that will eventually get lost, but it is much easier to implement at this level. Moreover, this translates to ADO based distributed builds.
2024-11-09 00:31:18 +00:00
Serge Mera 58e3a46f2f Merged PR 814357: Nuget group dependencies should consider all compatible frameworks
Nuget packages can specify group dependencies that are conditioned by a given target framework. E.g.:

```xml
<dependencies>
    <group targetFramework="net6.0">
        <dependency id="jQuery" version="1.10.2" />
        <dependency id="WebActivatorEx" version="2.2.0" />
    </group>
</dependencies>
```

The semantic of the condition is 'any framework compatible with net6.0 and the target framework' and not just net6.0. However, our nuget spec generation logic was adding this dependency **only** for net6.0. This was causing some dependent Nuget packages to be missing at deployment time. So far, we've been compensating for that manually adding the missing packages as explicit imports. But this is a risky practice since some packages might be required just at runtime and this might become evident only under particular code paths.

Modify the dependency generated logic to include all compatible frameworks wrt the specified framework dependency. This is a relatively safe change because at most we will be deploying *more* libraries than before. It should also allow us to clean up specs considerably after this reaches the LKG.
2024-11-08 23:23:21 +00:00
Marcelo Lynch 5d3a2d4256 Merged PR 813911: Rings and overrides for the build tools installer
Rings and overrides for the build tools installer
2024-11-08 23:06:43 +00:00
Michael Pysson 19f6495e6a Merged PR 814312: Quick mitigation for OOM handling output streams
Quick mitigation for OOM handling output streams

Related work items: #2229870
2024-11-08 20:33:26 +00:00
Pasindu Gunasekara 53166dfe7e Merged PR 814283: Publish Linux VSCode extension in rolling pipeline
- Separate PR to publish the change to the marketplace will be made on the Domino.ReleaseManagement repository.
2024-11-08 18:51:53 +00:00
Serge Mera b69c839af6 Merged PR 814163: Update stale nuget references
Update stale nuget references that are outside of the specified dependency version window.
2024-11-08 17:13:40 +00:00
Qi Wang e0b5909320 Merged PR 813509: Expose per-pip timeout for JavaScript resolvers
Expose per-pip timeout for JavaScript resolvers
Use pipTimeoutForProject to set the timeout and warning timeout for specific projects
Add Integration tests

Related work items: #2201737
2024-11-07 21:41:44 +00:00
Michael Pysson 63ae0ef31a Merged PR 813834: Remove millisecond granularity from build summary markdown
Remove millisecond granularity from build summary markdown

Removes the highlighted
![image.png](https://dev.azure.com/mseng/9ed2c125-1cd5-4a17-886b-9d267f3a5fab/_apis/git/repositories/50d331c7-ea65-45eb-833f-0303c6c2387e/pullRequests/813834/attachments/image.png)
2024-11-06 23:44:04 +00:00
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