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

7503 Коммитов

Автор SHA1 Сообщение Дата
Qi Wang 67c44f875b Merged PR 796896: Disable caching graph when InputTracker is not enabled
InputTracker is disabled when graphFingerprint is null due to manifest file missing. Disable caching graph to avoid build crash.

Related work items: #2188227
2024-07-25 18:09:59 +00:00
Sahiti Chandramouli 6a1ba176e7 Merged PR 796669: Use command line arguments instead of environment variables in AdoBuildRunner
Modified the config object to accept cmd line args instead of env vars."

Passed test build: https://office.visualstudio.com/DefaultCollection/Office/_build/results?buildId=30019557&view=results

Related work items: #2187261
2024-07-25 18:09:34 +00:00
Semih Okur 3b0ba1420c Merged PR 796928: Log username
Log username
2024-07-25 00:05:32 +00:00
Marcelo Lynch 🧉 3a719232bd Merged PR 796893: Update release notes
Update release notes
2024-07-24 21:52:34 +00:00
BuildXL-Pipelines fb61b2d8b8 Merged PR 796626: Update NOTICE.txt
[skip ci]
2024-07-23 19:33:16 +00:00
BuildXL-Pipelines ccbe58e3e9 Merged PR 796671: Update BuildXL LKG Version to 0.1.0-20240719.2.1
[skip ci]
2024-07-23 19:33:06 +00:00
BuildXL-Pipelines 4dc019231f Merge pull request 796625 from dev/BuildXL/updatepackages-2024-07-23T16-24-09 into main 2024-07-23 19:13:10 +00:00
Ben Witman 1c441383c2 Merged PR 796612: Add CurrentBuild and UBR to MachineInfo_OsVersion
`BuildLabEx` is good for the intial revision of the OS, but CurrentBuild and UBR encodes the latest security patch. `cmd`'s `ver` command [prints out the UBR](https://dev.azure.com/microsoft/OS/_git/os.2020?path=/onecore/base/cmd/cinit.cpp&version=GC6e9c34e2b755194f7f406fdbe08fa1a64ee62411&line=1109&lineEnd=1138&lineStartColumn=1&lineEndColumn=2&lineStyle=plain&_a=contents). For example:
```
$>ver
Microsoft Windows [Version 10.0.22631.3880]
```

Office has had many OS-related issues especially around defender that are fixed in security releases and the current telemetry cannot distinguish which security release. Having this data will allow us to correlate issues to a specific security patch and better support customers.

Local testing resulted in the telemetry showing:
```
Windows 10 Enterprise N 22621.1.amd64fre.ni_release.220506-1250 22631.3880
```

[22631.3880](https://support.microsoft.com/en-us/topic/july-9-2024-kb5040442-os-builds-22621-3880-and-22631-3880-0864308e-61cc-413b-8194-0294331aba52) is the 2024 July Patch Tuesday release for Windows 11 23H2.  As an example, Office had folks that somehow are on [22621.2506](https://support.microsoft.com/en-us/topic/october-31-2023-kb5031455-os-builds-22621-2506-and-22631-2506-preview-6513c5ec-c5a2-4aaf-97f5-44c13d29e0d4) and Windows update says they are up to date.  It is theorized that if you installed Windows 11 with a specific reg key override or using an insider channel that it could cause Windows to stop updating silently. This will allow us to measure that and understand if customers are stuck on old versions.
2024-07-23 17:49:21 +00:00
Sahiti Chandramouli bbbd2ddf17 Merged PR 796514: Fix the way JobPositionInPhase and TotalJobsInPhase are calculated in AdoBuildRunner
Fix the way the two parameters are used in AdoBuildRunnerService.

Test build
https://dev.azure.com/mseng/Domino/_build/results?buildId=28851708&view=results
2024-07-23 01:30:15 +00:00
Julian Bayardo 5a94968cd0 Merged PR 795578: Address several issues with handling of storage account names 2024-07-22 23:24:22 +00:00
Lance Collins 1e287940da Merged PR 796178: Prevent sharing violations on OpenStream calls in EphemeralContentSession.
Prevent sharing violations on OpenStream calls in EphemeralContentSession. Use local FS cache which uses correct FileShare rules.
2024-07-19 19:01:54 +00:00
Semih Okur a22c4c2218 Merged PR 795858: Updated Release-Notes.md
Updated Release-Notes.md
2024-07-18 16:48:57 +00:00
Sahiti Chandramouli 43e9ce053e Merged PR 794876: Refactor and add unit tests to AdoBuildRunner
Refactored ADoBuildRunner to accommodate the infrastructure for unit testing.
Introduced a configuration object to track the creation of environment variables in AdoBuildRunner
Added unit tests to test the various scenarios related to AdoApiService methods and added a unit test to test the arguments passed to orchestrator and worker.

Related work items: #2187262
2024-07-18 16:31:53 +00:00
Qi Wang a5f96bf3a0 Merged PR 795528: Failed the build when plugin initialization timeout
Failed the build when plugin initialization timeout
2024-07-17 22:12:03 +00:00
Marcelo Lynch 🧉 2845a7fa6e Merged PR 795555: Avoid caching real file system existence of paths that might be stale opaque outputs to be scrubbed by lazy materialization
We probe the real file system when doing a cache check and we can see an existing stale opaque output before the opaque directory is materialized from cache and said output is actually deleted. This can cause both cache misses and spurious DFAs.

This PR makes it so during cache lookup (and with lazy materialization enabled) we don't ever cache the existence of files that are under opaque directories.

Related work items: #2185421, #2185423
2024-07-17 20:43:22 +00:00
Iman Narasamdya 37c2ed9eed Merged PR 795581: Fix theory detection in BXL XUnit test framework
Previously we detect if a test is a theory when there's a parameter.

If a test is serialize as `TestMe(value: 1)`, then our test framework thinks that it's a theory, and it will run it as
`RUN THEORY TestMe(value: 1)`. The problem with this is, if there are `[InlineData(1)]` and `[InlineData(2)]` for `TestMe`, we will have the following runs:
```
RUN THEORY TestMe(value: 1) =>
    RUN TEST TestMe(value: 1)(value: 1)
    RUN TEST TestMe(value: 1)(value: 2)
```

Similarly when the serialized test is `TestMe(value: 2)`.

Thus, instead of having 2 tests, we end up having 4 tests.

This PR also reenable QTest.

Related work items: #2195273
2024-07-17 03:37:07 +00:00
Michael Pysson 2631d72083 Merged PR 795055: Bump package versions for Component Governance
Bump package versions for Component Governance

Related work items: #2195385, #2195386, #2195387
2024-07-16 00:20:23 +00:00
Michael Pysson 797f466d81 Merged PR 795048: Update Azure.Identity to 1.11.4
Update Azure.Identity to 1.11.4

Related work items: #2187372
2024-07-15 22:30:04 +00:00
BuildXL-Pipelines 804a2b1e8b Merge pull request 795099 from dev/BuildXL/updatelkg-0.1.0-20240712.10-2024-07-14T04-21-08 into main 2024-07-14 04:45:55 +00:00
Iman Narasamdya 8e0b22e2da Merged PR 795090: Enable QTest for QTest mock UT
Enable QTest for QTest mock UT. This UT needs to be run with QTest so that our ADO QTest integration stage in our release pipeline can succeed.

Related work items: #2195273
2024-07-13 06:14:52 +00:00
Iman Narasamdya 82f0100383 Merged PR 795016: Enable QTest in light UTs
Due to bug #2195273 , QTest has been disabled in our selfhost builds. The problem is that we no longer exercise QTest framework in our selfhost, while at the same time we're deploying QTest to customers. Also, because there's no QTest UTs, the (optional) QTest validation stage in our release pipeline failed.

To address the above problem, this PR enables some of light UTs, e.g., UTs that don't have many `[InlineData]` attributes and that don't take a long time to run.

Related work items: #2195273
2024-07-12 22:52:16 +00:00
Julian Bayardo c1b457226f Merged PR 795059: Add further information about disk performance in PerformanceCollector
Add further information about disk performance in PerformanceCollector. To be used for FastDownload statistics in order to help determine where to focus efforts.
2024-07-12 22:50:46 +00:00
Julian Bayardo 3959ebb06d Merged PR 793678: Support per-container SAS tokens
- Integrates the 1ES Build Cache resource. Enables consuming the JSON describing the configuration for the resource as the primary description of the shards conforming a blob-base cache topology.
- Relaxes the naming convention policy to allow for containers with arbitrary names. Used to enable CloudBuild to emit SAS tokens for a fixed name.
- Enable using SAS tokens per-container
2024-07-12 22:12:56 +00:00
Qi Wang cd302cb597 Merged PR 794980: Log more information when bxl failed to open a file for hashing
Log sharing violation and timeout separately
Log current bxl pid when we find a bxl process holds a handle
2024-07-12 21:18:27 +00:00
Pasindu Gunasekara 🍣 50a1c536d4 Merged PR 794991: Convert detours message count mismatch into an error on Linux Builds
Haven't seen any instances of this logged on telemetry lately, we can convert this to a proper error.

Related work items: #2125205
2024-07-12 20:31:33 +00:00
BuildXL-Pipelines 796b59d686 Merge pull request 794996 from dev/BuildXL/updatelkg-0.1.0-20240711.2-2024-07-12T18-21-31 into main 2024-07-12 18:55:51 +00:00
Michael Pysson e5ddf648d7 Merged PR 793701: Speed up ObjectPool
ObjectPool is backed by a ConcurrentStack. When the ObjectPool returns an item to the pool, it checks the stack length to see if it should hold onto it or not. The implementation of ConcurrentStack.Count is o(n). This change adds parallel tracking with a counter to keep from iterating that stack over and over. This also removes some of the Interlocked calls used for tracking statistics. It is not important that those are always synchronized.

Accessing a pool 1 million times on a 16 core dev machine:
LoopParallelism - number of threads concurrently accessing the pool
PoolSize - number of items in the ObjecPool

| Method   | LoopParallelism | PoolSize | Mean      | Error    | StdDev    | Median    |
|--------- |---------------- |--------- |----------:|---------:|----------:|----------:|
| Original | 1               | 64       |  30.61 ms | 0.182 ms |  0.171 ms |  30.65 ms |
| Updated  | 1               | 64       |  24.19 ms | 0.156 ms |  0.146 ms |  24.25 ms |
| Original | 1               | 512      |  30.48 ms | 0.150 ms |  0.140 ms |  30.56 ms |
| Updated  | 1               | 512      |  24.21 ms | 0.162 ms |  0.144 ms |  24.26 ms |
| Original | 32              | 64       | 225.99 ms | 8.697 ms | 25.643 ms | 241.60 ms |
| Updated  | 32              | 64       | 190.47 ms | 1.183 ms |  1.106 ms | 190.61 ms |
| Original | 32              | 512      | 224.84 ms | 4.470 ms | 13.040 ms | 227.92 ms |
| Updated  | 32              | 512      | 170.82 ms | 5.956 ms | 17.561 ms | 180.02 ms |
| Original | 512             | 64       | 231.52 ms | 4.592 ms |  5.104 ms | 233.16 ms |
| Updated  | 512             | 64       | 181.49 ms | 2.409 ms |  2.253 ms | 182.41 ms |
| Original | 512             | 512      | 230.62 ms | 4.596 ms |  9.071 ms | 234.37 ms |
| Updated  | 512             | 512      | 122.73 ms | 1.610 ms |  1.427 ms | 122.75 ms |

I doubt this will be revolutionary, but it's a simple change. Snapping to Microsoft.Extensions.ObjectPool would be better, but that's a more involved change.
2024-07-12 18:53:58 +00:00
Michael Pysson e5c9275da3 Merged PR 794748: Don't warn OS compatibility for Ubuntu 22.04
Don't warn OS compatibility for Ubuntu 22.04
2024-07-12 18:07:21 +00:00
Oleksii Kononenko bfc974716a Merged PR 794829: Limit set of files sent for symbol indexing and re-enable nuget signing
Limit set of files sent for symbol indexing and re-enable nuget signing

Related work items: #2125959, #2125963
2024-07-11 22:41:32 +00:00
Lance Collins 794d3cfbc2 Merged PR 794770: Ignore failures from IncorporateStrongFingerprintsAsync.
Ignore failures from IncorporateStrongFingerprintsAsync.
2024-07-11 18:55:25 +00:00
Iman Narasamdya 1bb9625e3d Merged PR 794662: Fix msbuild frontend when building solution
When building from solution, MSBuild frontend can easily create a path segment that exceeds the segment limit (> 256). This is because the frontend tries to create a unique segment by appending global properties. Even though long paths is enabled, the segment limit cannot be changed.

In this PR, we simply hash the path segment. Due to hashing, the user may need to look at the log file to correlate the path and the pip.

This PR also addresses some issue with path ending with backslash appearing in cmd line. Apparently there's a bug in MSBuild that includes the ending quote as part of the path.

Related work items: #2191024
2024-07-11 17:34:16 +00:00
Iman Narasamdya 30a60001ab Merged PR 794568: Release notes for 0.1.0-20240705.2.2
Release notes for 0.1.0-20240705.2.2
2024-07-10 20:09:43 +00:00
BuildXL-Pipelines 2fe2212795 Merge pull request 794277 from dev/BuildXL/updatelkg-0.1.0-20240705.2.2-2024-07-09T17-51-44 into main 2024-07-10 16:02:40 +00:00
Iman Narasamdya c7b64dd536 Merged PR 794405: Temporarily disable QTest due to creating too many UTs
Temporarily disable QTest due to creating too many UTs.

```csharp
[Theory]
[InlineData(1)]
[InlineData(2)]
[InlineData(3)]
public void TestMe(int data) { ... }
```

Instead of having 3 UTs, you will have 9 UTs.

Due to this Test.BuildXL.FrontEnd.Script.ErrorHandling ends up with 2,224 UTs, and often took > 10 minutes to complete. However, QTest hardcoded the timeout to 10 minutes.

Related work items: #2195273
2024-07-10 01:51:44 +00:00
Qi Wang 81290403b6 Merged PR 794274: Log message if eventstats on worker and orchestrator are not match
Re-apply the commits and fix the index out of range bug caused by worker disconnect with orchestrator
2024-07-09 23:03:00 +00:00
Oleksii Kononenko 68b8e5b32d Merged PR 794333: Update net runtime and packages
Update net runtime and packages
2024-07-09 22:51:38 +00:00
Marcelo Lynch 🧉 b68644bc9c Merged PR 794132: Revert "Merged PR 789181: Log message if EventStats on worker and orchestrator are not matched"
Revert "Merged PR 789181: Log message if EventStats on worker and orchestrator are not matched"

This reverts commit 2d39001d29.
2024-07-09 00:17:23 +00:00
BuildXL-Pipelines e1fae10dea Merge pull request 793986 from dev/BuildXL/updatenotice-2024-07-08T16-07-16 into main 2024-07-08 19:40:28 +00:00
Pasindu Gunasekara 🍣 f0c4e529c4 Merged PR 793426: Address CodeQL issues with calling LoadLibrary
- Load library should only be called with fully qualified paths.

Related work items: #2125965
2024-07-08 18:47:14 +00:00
Serge Mera fa1be46eb5 Merged PR 793996: Revert "Merged PR 790969: [Linux sandbox] More robust treatment for missing process start events
Revert "Merged PR 790969: [Linux sandbox] More robust treatment for missing process start events"

This reverts commit 042e86d47e.

Under suspicion for producing DFAs like this one: https://cloudbuild.microsoft.com/build/6034645e-6e76-4214-a6f2-d626eabdbd27
2024-07-08 18:23:35 +00:00
Marcelo Lynch 🧉 6058a7a90f Merged PR 793857: Gracefully exit workers when released before attachment
Gracefully exit workers when released before attachment: we shouldn't fail the worker in this scenario, everything is fine! This happens in 1JS builds quite a bit, and failing the worker is very confusing for the users even if we ignore the failure (an error is logged, etc).

Related work items: #2194383
2024-07-05 21:13:29 +00:00
Semih Okur 81d797e93b Merged PR 789486: Enable encryption for ephemeral cache
Test build:

BuildXL selfhost in AP:
https://cloudbuild.microsoft.com/build/6beef442-c017-4f33-a9e6-da6b32f6bf43
Ephemeral log file from the build: https://cloudbuild.microsoft.com/stamp/MW_S01/getfile?path=\MWH0NPF000548F5\d:\dbs\sh\bxlint\0610_223241\Logs\BuildXL.cache.log.Ephemeral.log&buildId=6beef442-c017-4f33-a9e6-da6b32f6bf43

BuildXL selfhost in RM:
https://cloudbuild.microsoft.com/build/992a33fe-250f-47df-8004-eb3051098e9b
Ephemeral log file from the build: https://cloudbuild.microsoft.com/stamp/PA_V01/getfile?path=\07f5c734c000003\F:\dbs\sh\bxlint\0610_223212\Logs\BuildXL.cache.log.Ephemeral.log&buildId=992a33fe-250f-47df-8004-eb3051098e9b

2024-06-10 22:34:36,929  11 DEBUG 432f8589-c140-414d-8cea-013b8ee75dbe GrpcCoreServerHost.StartAsync start.
2024-06-10 22:34:36,935  11 DEBUG 432f8589-c140-414d-8cea-013b8ee75dbe GrpcCoreServerHost.TryGetEncryptedCredentials: Found gRPC Encryption Certificate.
2024-06-10 22:34:36,936  11 DEBUG 432f8589-c140-414d-8cea-013b8ee75dbe GrpcCoreServerHost.StartAsync: Server creating Encrypted Grpc channel on port 7093
2024-07-05 19:42:32 +00:00
Marcelo Lynch 🧉 e861a5d0f5 Merged PR 791657: Track output directories created by the engine for the pip in the Output filesystem view
We track the output directories created by a pip for the sake of stability in probes and directory enumerations. However, we are not tracking the output directories that are created by the sandbox executor as part of the "preparation" it does before executing the tool. These are actual outputs of the pip, created precisely because they are declared as such (directory outputs, opaque roots, parents of statically declared files). So we should track them in the output file system view as "created by the pip" too.
2024-07-04 20:12:20 +00:00
Sahiti Chandramouli 58142bd487 Merged PR 793301: Add retry mechanism for handling transient errors in ADOBuildRunner
Added a RetryHandler module to handle the transient errors in ADOBuildRunner.
Setup Unit tests for testing this feature.

Related work items: #2168119
2024-07-03 23:39:58 +00:00
Lance Collins f6fcf3a5f4 Merged PR 793558: Fix issue compare exchange for blob L3 when OptimizeWrites = true, which caus...
Fix issue compare exchange for blob L3 when OptimizeWrites = true, which causes AddOrGetContentHashList to always add.
2024-07-03 22:26:13 +00:00
Qi Wang 2d39001d29 Merged PR 789181: Log message if EventStats on worker and orchestrator are not matched
To understand the impact of EventStats missing on orchestrator, sent the eventstats within BuildEndData when orchestrator exit the worker. Worker can log warning message if the EventStats are not matched with its local EventStats.

Related work items: #2160034
2024-07-03 19:13:12 +00:00
Paul Ming 6618105705 Merged PR 793195: Bump CB.QTest to 24.6.26.153636
Bump CB.QTest to 24.6.26.153636

- Redact test JWTs in customer unit test failure messages

From https://mseng.visualstudio.com/Domino/_apps/hub/ms.vss-releaseManagement-web.cd-release-progress?_a=release-pipeline-progress&releaseId=392490
2024-07-02 18:04:16 +00:00
BuildXL-Pipelines c858c40358 Merge pull request 793069 from dev/BuildXL/updatepackages-2024-07-01T16-07-35 into main 2024-07-01 22:16:27 +00:00
Qi Wang 9faca185cb Merged PR 792409: Update Release note for 0.1.0-20240622.1
Update Release note for 0.1.0-20240622.1
2024-07-01 22:11:06 +00:00
BuildXL-Pipelines e31623fda1 Merge pull request 793161 from dev/BuildXL/updatelkg-0.1.0-20240628.1-2024-07-01T21-45-54 into main 2024-07-01 22:07:05 +00:00