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

138 Коммитов

Автор 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
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
Michael Pysson a263b48590 Merged PR 809921: Remove ICM dependencies
Remove ICM dependencies
2024-10-17 18:00:52 +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
Michael Pysson 1e0d920b87 Merged PR 802091: Remove extraneous error & warnings from rolling build
The RunCheckinTests part of rolling build validation simulates some worker disconnect scenarions which generate warnings and an error. This change removed those expected errors from showing up and cluttering the Azure DevOps console.
2024-08-27 23:28:46 +00:00
Michael Pysson 96f9e80fa3 Merged PR 799125: Use QTest from bxl binary location instead of package location
Use QTest from bxl binary location instead of package location
2024-08-16 21:17:17 +00:00
Pasindu Gunasekara 🍣 b633c1e25b Merged PR 785400: Remove MacOS code
- Deletes old sandbox code but leaves the interop code intact
2024-07-29 17:16:12 +00:00
Marcelo Lynch 🧉 11f94ac9a3 Merged PR 751537: Restructure the Linux PR validation
- Only build the engine that will be under test once, and then consume from the different validations via pipeline artifacts, instead of doing it once per validation
- Modularize the YAMLs by moving shared tasks to a common file
- Add some dependencies between the stages to short-circuit failures: namely, run the PTrace validation only after the public and
- The internal validation is now single machine, in favor of validating distribution with a small two-pip build at the end
- Add a validation that runs a small distributed build consisting of two pips, one of which is forced to run on a remote worker. This runs at the end of the validation
2023-11-15 22:30:09 +00:00
Pasindu Gunasekara 🍣 56b18c98d9 Merged PR 743386: Add support for Windows SDK 10.0.22621.755
Related work items: #2110809
2023-10-04 20:58:54 +00:00
Michael Pysson 872906c901 Merged PR 741758: Remove GVFS tests that are no longer run
These tests were added years ago to ensure there were no bad interactions between gvfs and BuildXL. They have not been run in quite a while. Removing them to cleanup code and reduce pipeline execution time
2023-09-27 18:37:18 +00:00
Pasindu Gunasekara 🍣 674f31c394 Merged PR 737210: Use Microsoft.Artifacts.Authentication for authentication
- Uses Microsoft.Artifacts.Authentication for MSAL authentication in VssCredentialsFactory
- Does not use WAM broker because we can't easily get a parent window handle when running under buildxl
- Skips device code authentication to avoid having to display message on the console.

Related work items: #2063548
2023-09-06 21:29:48 +00:00
Pasindu Gunasekara 🍣 7e5f8ab8da Merged PR 732283: Only publish release binaries for macos interop library
- This fixes the directory structure for the nuget package allowing us to declare it as a dependency of BuildXL.Utilities rather than manually deploying it.
2023-08-09 22:52:21 +00:00
Pasindu Gunasekara 🍣 b677107820 Merged PR 728582: Add scripts for running unit tests and preparing the native package for macOS
- Add scripts for producing a public package for the native runtime.
- Add scripts to run unit tests under macOS.
- Created a new package here instead of re-using the existing one to avoid removing the old kext code in case we want to use it in the future. We'll have code that references the kext in dscript once I finish making the changes here but they won't be used for anything.

Related work items: #2082091
2023-07-28 00:02:47 +00:00
Pasindu Gunasekara 🍣 47b5212c3e Merged PR 721442: Revert "Merged PR 719250: Use Microsoft.Artifacts.Authentication for cache/dr...
Revert "Merged PR 719250: Use Microsoft.Artifacts.Authentication for cache/drop authentication"

This reverts commit dc8fb8ff65.

Reverting change that's breaking dev cache authentication for users without VPN.
2023-06-05 21:17:17 +00:00
Pasindu Gunasekara 🍣 dc8fb8ff65 Merged PR 719250: Use Microsoft.Artifacts.Authentication for cache/drop authentication
- Microsoft.Artifacts.Authentication provides a wrapper layer for MSAL authentication. This will allow us to continue to keep BXL up to date with the latest MSAL changes without having to change too much on our end other than bumping up package versions.

Related work items: #1969711, #2063548
2023-05-24 04:01:59 +00:00
Will Li 626e10cca2 Merged PR 710009: Merge BuildXL.Utilities.Collections into BuildXL.Utilities.Core
Folding all of Collections into BXL.Utilities.Core. The recommended way to create Nuget packages is to do 1 dll per package unless the dlls are supposed to always be used together. Collections is a part of Utilities and it shares a large subset of dependents with Utilities.Core, so merging them together to reduce the amount of dlls.
2023-04-01 00:59:44 +00:00
Will Li 9e49b47651 Merged PR 709961: Refactor Instrumentation.Common dll
Refactoring Instrumentation.Common to only contain Aria specific files, and moving all the non-Aria code into Utilities.Core instead. The motivation behind this is so that BXL released packages won't contain Aria packages which is an external pacakge. We want to have as little external packages as possible because it might cause diamond dependencies. (eg. BXL.Utilities depends on Aria1.0 and ExPkg depends on Aria1.1 and the customer pulls both in, there will be a version conflict)
2023-03-29 22:48:29 +00:00
Will Li 76b53ae11d Merged PR 708859: Clean up Processes Dependencies
Cleaning up and removing dependencies of Processes that can be rather easily removed.
2023-03-28 23:23:25 +00:00
Will Li 66f6432448 Merged PR 704933: Refactor Aggregation out of PerformanceCollector
PerformanceCollector has a dependency on Win32, and SandboxedProcess.cs has a dependency on PerformanceCollector. However, the only thing that's needed is the Aggregation Class which I've broken out of PerformanceCollector and into BXL.Utilities.Core.
2023-03-03 19:13:27 +00:00
Will Li 928345157d Merged PR 703963: Break Instrumentation.Common Dependency from BuildXL.Utilities.Core
Breaking Instrumentation.Common Dependency from BXL..Utilities.Core as it pulls in aria package. And the goal of BXL.Utilities.Core is to depend on no external packages
2023-03-01 22:52:23 +00:00
Will Li 90c1407490 Merged PR 702617: Detours Dependency Refactor: BXL.Utilities to BXL.Utilities.Core
As a part of refactoring Detours dependencies. We will first need to break BXL.Utilities into BXL.Utilities.Core which only depends on BXL code and nothing else.
2023-02-17 22:42:11 +00:00
Michael Pysson 9de1f98c70 Merged PR 698533: Remove Powershell dependency
Remove Powershell dependency. From what we can tell this is not used anymore
2023-01-25 21:58:37 +00:00
Sahiti Chandramouli 8ba5b87e0a Merged PR 684501: Scan environment variables for credentials using the CredScan library(Phase I)
This is Phase I hence only a warning is logged when a credential is detected in an env var. Depending on the results obtained from the logging information the implementation is modified accordingly.

Added the CredentialScanner class to handle the functionality related to credscan
Created a unit test to test the functionality of the scanner with various test cases
Modified the SetEnvironmentVariables method to call the credscan method from CredentialScanner class.
Added allowList mechanism and a unit test to test that

Related work items: #1975564
2022-12-08 21:24:45 +00:00
Marcelo Lynch 🧉 826d042b57 Merged PR 684458: Add missing SBOM dependencies to DropDaemon 2022-10-19 22:48:40 +00:00
David Federman 5dc2855264 Merged PR 666068: Update SBOM packages
Update SBOM packages

Note this also adjusts to a breaking change in this PR: https://github.com/microsoft/dropvalidator/pull/464
2022-10-18 23:46:38 +00:00
Julian Bayardo a601f8c48f Merged PR 681101: The Great Redis Deletion
WIP PR, running tests for now
2022-09-28 17:35:59 +00:00
Qi Wang a9b39297e0 Merged PR 675070: Add nuget resolver signing
Add nuget resolver signing
Add extra dummy sign sdk in FrontEnd/UnitTest to pass the tests

Downloaded and Extracted files need to be treated differently. Extract pip generate an opaques directory. I need to use a tool to enumerate extracted files. I'd like to split into another pr.

Related work items: #1958784
2022-09-15 18:24:12 +00:00
Aleksandar Milicevic 19d4c23faf Merged PR 672509: Migrate 'Linux PR Validation' pipeline to 1es templates
Migrate 'Linux PR Validation' pipeline to 1es templates
2022-08-02 19:49:04 +00:00
Qi Wang e83911086b Merged PR 658101: Add roslynanalyzers
Add roslynanalyzers call in BuildXLSdk. Csc.exe will use roslynanalyzers and produces analyze results when enableRoslynanalyzers set to true. In Compliance Build, Gurdian will run roslynanalyzers with copyLogsOnly to copy the analyze results, which will then be used for processing and break

Related work items: #1941023
2022-06-24 22:08:36 +00:00
Semih Okur 69345b51d3 Merged PR 662643: Remove netcoreapp3.1 and net5.0 2022-05-26 23:40:38 +00:00
Sergey Tepliakov 5abc42d794 Merged PR 661587: Use 'Microsoft.Cloud.InstrumentationFramework' package
Use 'Microsoft.Cloud.InstrumentationFramework' package instead of 'Microsoft.Cloud.InstrumentationFramework.NetStd' that was deprecated.

Related work items: #1948491
2022-05-22 20:48:36 +00:00
Semih Okur 4aab64e5e4 Merged PR 662797: Revert "Merged PR 660721: ExecutionLogSdk is no longer net472" 2022-05-20 00:05:17 +00:00
Semih Okur da0e295b24 Merged PR 660721: ExecutionLogSdk is no longer net472 2022-05-09 17:32:12 +00:00
Chad Su fe7b4e37d4 Implement IBuildProvider so that the BuildXL Integration VS extension can intercept SDK-style csproj builds
The BuildXL Integration VS extension intercepts non-SDK-style csproj builds. However, that mechanism does not work for SDK-style csproj builds. Per SharePoint Online's request, the Visual Studio team has designed a new interface IBuildProvider. See the email for more details - [SharePoint, BuildXL and SDK Style projects.pdf](https://dev.azure.com/mseng/9ed2c125-1cd5-4a17-886b-9d267f3a5fab/_apis/git/repositories/50d331c7-ea65-45eb-833f-0303c6c2387e/pullRequests/658304/attachments/SharePoint%2C%20BuildXL%20and%20SDK%20Style%20projects.pdf).
2022-04-29 18:43:39 +00:00
Chad Su fc58516301 Fix BuildXL Integration extension issue with Visual Studio 2022 17.2.0 Preview 2.1 or above
```
SetSite failed for package [BuildXLVsPackage]Source: 'BuildXLVsPackageDev17' Description: Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.CSlnUpdate' to type 'Microsoft.Internal.VisualStudio.Shell.Interop.IVsSolutionBuildManagerPrivate'. System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.CSlnUpdate' to type 'Microsoft.Internal.VisualStudio.Shell.Interop.IVsSolutionBuildManagerPrivate'. at BuildXL.VsPackage.VsProject.ProjectFlavorFactory..ctor(BuildXLVsPackage package) in \.\Public\Src\IDE\VsIntegration\BuildXLVsPackageShared\VsProject\ProjectFlavorFactory.cs:line 59 at BuildXL.VsPackage.BuildXLVsPackage.<InitializeAsync>d__15.MoveNext() in \.\Public\Src\IDE\VsIntegration\BuildXLVsPackageShared\BuildXLVsPackage.cs:line 137
```
The problem is that the extension has its own definition of Microsoft.Internal.VisualStudio.Shell.Interop.IVsSolutionBuildManagerPrivate copied from Microsoft.Internal.VisualStudio.Shell.Interop.10.0.DesignTime.dll. The solution is to use the interface defined in Microsoft.Internal.VisualStudio.Interop.dll.
2022-04-08 16:26:43 +00:00
Aleksandar Milicevic f0a82776e6 Merged PR 656467: Use cross-plat Aria logger on Linux/Mac
Changes:
- add a new NuGet dependency on `Microsoft.Applications.Events.Server` (which is the cross-plat Aria SDK)
- use that on Linux and Mac
- delete the native SDK previously used on Mac
2022-04-06 19:51:25 +00:00
Aleksandar Milicevic 1fe619f579 Merged PR 656279: Initial steps toward selfhosting on Linux
Changes:
- fix various file name capitalization errors
- fix various nuget package name capitalization errors
- create and publish `Bond.CSharp.linux-x64` nuget package
- add `/etc` to default untracked scopes
- untrack `$HOME/.dotnet` when running the `Downloader` tool
- consistently spell `App.config`

With these changes, all of the following succeed for me in Ubuntu 20.04 WSL running in Windows 11:
- `./bxl.sh --minimal`
- `./bxl.sh --minimal --internal`
- `./bxl.sh --minimal --internal --shared-comp`

Once the changes make it to LKG, the next step will be to set up a Linux pipeline to build minimal selfhost.  Later, that pipeline can be expanded to run unit tests etc.
2022-04-05 19:44:47 +00:00
Pasindu Gunasekara 🍣 776d17390e Merged PR 654625: Explicitly report directory probes in detours
Re-adds this change: https://dev.azure.com/mseng/Domino/_git/BuildXL.Internal/pullrequest/644709

Revert "Merged PR 652173: Revert "Merged PR 644709: Explicitly report directory probes in detours""

This reverts commit 8f79c177c8.

Related work items: #1816341
2022-03-24 17:23:35 +00:00
Pasindu Gunasekara 🍣 8f79c177c8 Merged PR 652173: Revert "Merged PR 644709: Explicitly report directory probes in detours"
Revert "Merged PR 644709: Explicitly report directory probes in detours"

This reverts commit b565f0b5ee.
2022-03-09 20:13:04 +00:00
Marcelo Lynch 🧉 c5a3585aca Merged PR 649079: Remove CloudStorePlayground experiment directory 2022-02-14 18:41:39 +00:00
Pasindu Gunasekara 🍣 b565f0b5ee Merged PR 644709: Explicitly report directory probes in detours
Related work items: #1816341
2022-02-05 23:57:23 +00:00
Iman Narasamdya 6725095c11 Merged PR 644381: Integrate BuildXL with AnyBuild SDK
Integrate BuildXL with AnyBuild SDK.

The design is to isolate AnyBuild use so that the `#if FEATURE_ANYBUILD_PROCESS_REMOTING` doesn't need to appear everywhere.

This PR depends on AnyBuild.SDK package that should be published after this PR !644510 is pushed.

Related work items: #1907310
2022-01-13 23:51:44 +00:00
Pratik Lade e3f6f515d8 Merged PR 643297: Use Int resources for CloudTest task Cg of release pipeline
BuildXL Release pipeline currently contains two CloudTest tasks.
Task Cf runs on CloudTest Int, while task Cg runs on CloudTest Prod.
Due to limitations in CloudTest UI, this means the results of the Cg task are not populated in the `1ES Test` tab of Azure DevOps.

To fix this, there were two approaches: either move Cf to Prod or move Cg to Int.
Moving Cf to Prod is more complicated, since there are build pipeline certificates installed and used specifically by CloudTest Int environment, which are not available on Prod.

We are taking the approach of moving Cg task to CloudTest Int. To do this, the SKU and Image used to run the Cg task needed to change, as the currently configured ones are not available on Int environment.
Here's a successful run that uses this configuration on CloudTest Int environment: https://cloudtest.visualstudio.com/CloudTest/_build/results?buildId=57793&view=results

This is part 1 of two changes required for this to work. After this PR completes, the release pipeline task and the CloudTest Validation(Gvfs) pipelines need to be edited to use the correct CloudTest configuration, which involves the following changes.
- Use Int environment instead of Prod
- Use wus2-default stamp
- Use cloudtest tenant instead of BuildXL
2022-01-12 20:07:37 +00:00
Marcelo Lynch 🧉 8889e2ec89 Merged PR 643161: Remove SBOMUtilities.ComponentDetectionConverter in favor of the Microsoft.SBOM.Adapters library
- Remove ComponentDetectionConverter in favor of the Microsoft.SBOM.Adapters library
- Update SBOM packages to version 2.0.99

Related work items: #1902188
2022-01-04 21:30:09 +00:00
Michael Pysson e615dc34e5 Merged PR 642321: Remove Mimic and MimicGenerator
These haven't been used in years and won't likely be revived. Deleting to clean up codebase. They can be retrieved from version history if necessary.
2021-12-27 19:55:46 +00:00
Pasindu Gunasekara 🍣 988bb1954f Merged PR 639286: Add SBOM packages to SBOM generation step in DropDaemon
- Calls the new Microsoft.Sbom.Adapters library to get a list of SBOMPackage objects from the component detection output.

Related work items: #1882259
2021-12-01 22:11:29 +00:00
Pratik Lade a61132d192 Merged PR 638935: Update dotnet install command for Gvfs Int Testing
Updated Setup.cmd
2021-11-18 19:12:06 +00:00
Marcelo Lynch 🧉 fd879b0886 Merged PR 635704: Use the new common API to generate SBOMs from the DropDaemon 2021-11-11 19:33:21 +00:00
Marcelo Lynch 🧉 a37db4c037 Merged PR 637192: Reinstate change: add a helper library to extract SBOM Metadata from BuildSessionInfo to BuildXL
Revert the revert and remove problematic dependencies.
2021-11-08 18:59:59 +00:00
Oleksii Kononenko 9de4b4915a Merged PR 637024: Revert "Merged PR 636560: Add a helper library to extract SBOM Metadata from...
Revert "Merged PR 636560: Add a helper library to extract SBOM Metadata from BuildSessionInfo to BuildX...

Add a helper library to extract SBOM Metadata from BuildSessionInfo to BuildXL.Utilities

Related work items: #1882251"

Reverted commit `c7a683ce`.

Related work items: #1882251
2021-11-05 20:06:27 +00:00