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

338 Коммитов

Автор SHA1 Сообщение Дата
Aleksandar Milicevic bcb5d58aa6 [linux-sandbox] Interpose more libc functions
- interpose `puts`, `putc`, `fputs`, ...
 - interpose `printf`, `fprintf`, `dprintf`, ...
 - interpose `fread`, `fwrite`
 - interpose `__xstatat`, `__xstatat64`
 - remove aimless calls to `realpath` (a future PR should place those in strategic places needed for symlink handling)
2020-04-14 18:16:09 +00:00
Aleksandar Milicevic 214aea8015 [linux-sandbox] Enable some scheduler integration tests
- fix getting/setting extended attributes on Linux
 - untrack `/proc`, `/sys`, `/lib/x86_64-linux-gnu` folders on Linux
 - handle `mkdir`, `mkdirat`, and `fdopendir`
 - ignore operations on file descriptors that are not files
 - deny file accesses when so configured
 - generic tracing of all intercepted syscalls

Related work items: #1706995
2020-04-13 17:42:24 +00:00
Aleksandar Milicevic ec26ac404a Merged PR 546149: [linux-sandbox] Eagerly load syscall symbols of importance
- eagerly call `dlsym` to resolve all sycall symbols upfront (instead of lazily once we are already handling a syscall)
 - call the original syscall implementation before reporting accesses (helps avoid potential deadlocks when there are multiple libraries intercepting syscalls)
 - capture the value of `errno` right after calling the original implementation, and restore it right before returning

Related work items: #1706182
2020-04-11 00:41:26 +00:00
Danny van Velzen 834424b410 Merged PR 545705: Returning Net462 for transitive customer that hasn't upgarded to net472 yet
Returning Net462 for transitive customer that hasn't upgarded to net472 yet
2020-04-10 16:17:40 +00:00
Aleksandar Milicevic 32a599cc36 [linux-sandbox] fixes needed for running process tests
Fixes needed to run Test.BuildXL.Process.dll on Linux
2020-04-09 15:29:00 +00:00
Aleksandar Milicevic 04893a5c17 Merged PR 544336: [linux-sandbox] Pass and parse FileAccessManifest 2020-04-02 20:03:13 +00:00
Aleksandar Milicevic 2d4540896b Merged PR 543794: Initial sandbox implementation for Linux
At this point there is not real sandboxing going on, just tracing system calls
2020-04-02 02:48:45 +00:00
Sergey Tepliakov 5b741e4b27 Merged PR 542616: Move to fluent assertions when the message is constructed.
Move to fluent assertions when the message is constructed.

Looking into this, I don't really like the new API as well.

Few other ideas:
```cshar
Contract.AssertWith(x > 0)?.Message($"x > 0, x=[{x}]");

Contract.AssertThat(x > 0)?.WithMessage($"x > 0, x=[{x}]");

Contract.RequiresThat(x > 0)?.IsTrue($"x > 0, x=[{x}]");
```

Related work items: #1689124
2020-03-27 22:14:00 +00:00
Sergey Tepliakov e49b9ab000 Merged PR 542833: Remove in-memory cache for location database
Remove in-memory cache for location database

Related work items: #1701136
2020-03-26 01:56:54 +00:00
John Erickson 6efa810d13 Add tests to make sure that chunking algorithm is stable for both chunker impls
Add tests to make sure that chunking algorithm is stable for both chunker impls
2020-03-24 18:40:18 +00:00
Serge Mera 61639e24f0 Merged PR 542184: Integration tests for Rush front-end
E2E tests including running rush init + update. More lightweight unit test like tests to come.
2020-03-20 22:18:30 +00:00
Danny van Velzen 008e7dbfc9 Merged PR 542306: Add a simple cloudtest entry point
This PR adds a cloudtest definition so while writing the tests I can try to setup the infrastructure to execute the cloudtest runs in CI and from PR.
2020-03-20 20:57:13 +00:00
Aleksandar Milicevic c264eed39d Merged PR 539513: Add qualifiers for Linux; add linux-x64.nupkg to deployment
- add qualifiers for Linux; add linux-x64.nupkg to deployment
 - rename namespace `BuildXL.Interop.MacOS` to `BuildXL.Interop.Unix`
2020-03-06 20:04:14 +00:00
Aleksandar Milicevic 71128b6a08 Merged PR 539065: Enable cache unit tests on Linux
- update RocksDB nuget to a new version that is more portable than the previous one
 - hack for choosing the correct SQLite.Interop.dll when running on Linux
 - implement some more interop stuff for Linux
2020-03-05 00:33:19 +00:00
Danny van Velzen cbefd1a772 Update runtime contracts analyzer to have fixes for the auto fixer of
Update runtime contracts analyzer to have fixes for the auto fixer of simplified null check
2020-03-04 18:04:20 +00:00
Aleksandar Milicevic 2aef440be5 Merged PR 538862: Update RocksDB and Enable KeyValueStore tests on Linux
- update RocksDB to a newer version that contains native binaries for Linux
 - enable KeyValueStore unit tests on Linux
 - delete the `statx` p-invoke from `IO.Linux.cs` because it doesn't work with Ubuntu 18.04
2020-03-03 18:15:53 +00:00
Julian Bayardo 28433e1c44 Merged PR 530288: CASaaS log to Kusto
This PR:
- Adds support for using NLog
- Adds an NLog target that logs to Azure Blob Storage
- Adds support for using host-provided values for telemetry
- Integrates the changes with the DistributedService verb
- Integrates the changes with CloudBuild-side telemetry (see associated PR in CB repository: https://dev.azure.com/mseng/Domino/_git/CloudBuild/pullrequest/532118?_a=overview)

Note that this is under a "feature flag", so nothing should fail out of the box. Ingestion delay has been roughly 5 minutes as far as I have tested.

Currently WIP:
- Improve upload strategy (currently creates too many small files!). Kusto recommends between 100MB and 5GB per ingestion

Missing features (might/will be tackled in future PRs):
- Split Message into CorrelationId, Role, Component, Operation, Arguments, Duration, Result and Exception columns (likely hard / very long work item because of legacy tracing code)
- Report ConfigurationId (should be easy)
- Support multiple Azure Blob targets. This could be useful for routing/duplicating output to different tables depending on runtime conditions.

Related work items: #1662908, #1669623
2020-02-07 00:10:16 +00:00
Aleksandar Milicevic 92f8a09874 Merged PR 533872: Fix redis-osx nuget dependency
In public builds, skip downloading the `Redis-osx-x64` nuget on all platforms.

This will create an empty stub for this package, meaning we won't be able to run any Redis unit tests in public builds (which is fine)
2020-02-06 23:41:56 +00:00
Juan Carlos Guzman Islas 141ccc3994 Merged PR 532938: Add redis server for mac tests
This PR enables us to run redis server for mac tests.

However, tests have not been enabled yet, since they require tweaking.

This is a build in mac that runs with tests enabled, and everything passes: https://dev.azure.com/mseng/Domino/_build/results?buildId=11412761&view=results

Related work items: #1669645
2020-02-06 20:30:18 +00:00
Lance Collins ddee9b1a77 Merged PR 532175: Re-upgrade GRPC and add fix to DNS resolution delay
Re-upgrade GRPC and add fix to DNS resolution delay
2020-01-30 16:18:57 +00:00
Lance Collins 21272830cd Merged PR 531605: Revert "Merged PR 529351: Update Grpc and Protobuf versions"
Revert !530629
2020-01-28 18:35:53 +00:00
Danny van Velzen ad25bf2be0 Merged PR 530629: Merged PR 529351: Update Grpc and Protobuf versions
Merged PR 529351: Update Grpc and Protobuf versions

Update Grpc and Protobuf versions.
Checked out the codegen and the generated code is almost identical:
* A few case changes of members in the generated protobuf cs file
* Comment changes
* Service classes now have a BindServiceMethod attribute
* The generated class now takes a `ChannelBase` rather than `Channel`
* A new overload of `serviceBinder.AddMethod` is used but passing the same data.
2020-01-23 22:53:28 +00:00
Kristijan Simic 8fad7a6ebb Merged PR 529759: Update XNU security headers
Updated XNU security header files to latest available, adjusted project / compilation settings to compile without issues and getting dependencies via our DownloadResolver.
2020-01-20 14:24:46 +00:00
Danny van Velzen 83deedddff Merged PR 529972: Revert "Merged PR 529351: Update Grpc and Protobuf versions"
Revert "Merged PR 529351: Update Grpc and Protobuf versions"

This reverts commit 46f0589b8e.

Cloudubild tried to deploy 2 times and it seems there are too many nuget dependency problems with version mismatches of transitive dependencies... I don't have the bandwidth to keep hinting this down as all the validations run seem to pass.
2020-01-20 05:53:08 +00:00
Danny van Velzen 46f0589b8e Merged PR 529351: Update Grpc and Protobuf versions
Update Grpc and Protobuf versions.
Checked out the codegen and the generated code is almost identical:
* A few case changes of members in the generated protobuf cs file
* Comment changes
* Service classes now have a BindServiceMethod attribute
* The generated class now takes a `ChannelBase` rather than `Channel`
* A new overload of `serviceBinder.AddMethod` is used but passing the same data.
2020-01-16 21:21:08 +00:00
Aleksandar Milicevic df32d8feb5 Enable qtest for .net core tests
Enable qtest for .net core tests

Related work items: #1655419
Merged PR 529175
2020-01-15 23:42:07 +00:00
Michael Pysson 3569628aae Merged PR 529042: Reenable NetCore 3.1 now that AV definition update is permanent
Revert !528216
2020-01-15 22:19:30 +00:00
Julian Bayardo 777647e6d1 Merged PR 527445: Upgrade Redis client library to 2.0.601
Testing has been performed by deploying on an isolated machine. This has been done by producing NuGet packages using this pipeline: https://dev.azure.com/mseng/Domino/_build?definitionId=9788&_a=summary , using them to build CloudBuild, and then deploying unto the machine.

Related work items: #1647519
2020-01-15 00:21:04 +00:00
Serge Mera a5ed386ee5 Merged PR 528702: Make VBCSCompilerLogger more robust
Two main changes:
* CodeAnalysis classes claim to always give back absolute paths, but that's not the case. Manually resolve relative paths before reporting accessess
* Handle the case of switches for csc/vbc that are supported by the compiler in use but not for the VBCS logger.
2020-01-14 19:56:56 +00:00
Michael Pysson 8f041da12b Merged PR 528216: Revert back to NetCore 3.0 again until AV definition update happens
Revert back to NetCore 3.0 again until AV definition update happens

This reverts commit abc057b6c0.
2020-01-10 18:50:17 +00:00
Michael Pysson abc057b6c0 Merged PR 528019: Revert "Merged PR 527387: Temporarily revert to NetCore 3.0 to work around AV
Revert "Merged PR 527387: Temporarily revert to NetCore 3.0 to work around AV false positive"

This reverts commit d32b003217.
2020-01-09 23:07:10 +00:00
Serge Mera 3f5c8a104d Merged PR 527392: Canonicalize augmented file access paths
Make sure augmented paths get canonicalized as absolute paths, similarly to what detours does. Some tools may report relative paths, or paths containing '..'.

Additionally, add two missing inputs for VBCSCompiler (sorry, this should have been a separate PR, but the change is small enough)
2020-01-08 19:24:51 +00:00
Danny van Velzen b20542e498 Merged PR 526965: Name netcoreapp qualifier to the proper version we use 3.1 not 3.0
Name netcoreapp qualifier to the proper version we use 3.1 not 3.0
2020-01-08 00:32:29 +00:00
Michael Pysson d32b003217 Merged PR 527387: Temporarily revert to NetCore 3.0 to work around AV false positive
Temporarily revert to NetCore 3.0 to work around AV false positive
2020-01-07 22:36:12 +00:00
Aleksandar Milicevic ea97ed948d Merged PR 526559: Skip a bunch of NuGets when running on macOS
Skip a bunch of NuGets when running on macOS
2020-01-03 15:45:22 +00:00
Kristijan Simic 5d05aefc79 Merged PR 525925: Avoid VisualCppTools.Community.VS2017Layout dependency download on non-windows hosts
Avoid getting VisualCppTools.Community.VS2017Layout on non-windows hosts.
2019-12-24 02:12:31 +00:00
Kristijan Simic fc1ef6b316 Merged PR 525528: Update the .NETCore runtime to 3.1.0
Update the .NETCore runtime to 3.1.0, brings in some performance improvements and security fixes.
2019-12-20 14:19:16 +00:00
Danny van Velzen df97f77f30 Merged PR 525382: Restore packagestoskip for eventhub"
Restore Microsoft.Azure.Amqp dependency which was accidentally dropped in cleanup
2019-12-18 21:41:13 +00:00
Danny van Velzen 357edc8ce3 Merged PR 524279: Remove all nuget workarounds that are no longer needed
Remove all nuget workarounds that are no longer needed.
2019-12-13 01:03:27 +00:00
Aleksandar Milicevic 3423bee94e Merged PR 523795: Update NodeJs to v13.3.0
Update NodeJs to v13.3.0
2019-12-11 00:28:51 +00:00
Aleksandar Milicevic 18bc4c5411 Merged PR 523769: Update NodeJs to v12.13.1 2019-12-10 22:49:25 +00:00
Aleksandar Milicevic e1709329ba Merged PR 523252: Revert commit 83714cfc
Revert commit 83714cfc because Node 9.9.0 brings in more vulnerable binaries
2019-12-08 18:56:48 +00:00
Aleksandar Milicevic 83714cfc8b Merged PR 523220: Update nodejs to version 9.9.0
Update nodejs to version 9.9.0
2019-12-08 17:34:36 +00:00
Juan Carlos Guzmán Islas a51fa61625
Update RocksDb package to 20191119.3 (#1243)
* Update RocksDb package to 20191119.3

* Update cgmanifest
2019-11-20 09:57:59 -08:00
Kristijan Šimić 0708022325
RocksDB tuning for macOS (#1218) 2019-11-20 06:56:00 -08:00
Kristijan Šimić 27768598d7
Update RocksDB macOS binaries to support fingerprint store compression (#1208) 2019-11-13 22:50:21 +01:00
Iman Narasamdya 0db9a1bb35
Update used Net compiler in engine tests (#1129) 2019-10-30 17:59:14 -07:00
Rijul Luman 7311d5a1b6
Nuget Credential Provider Auth Fix (#1087)
* RunCheckInTests now accepts PAT for internal nugets
* Added source code for BuildXL.Tools.CredentialProvider
2019-10-30 11:34:42 -07:00
Sergey Teplyakov 8190f022b7
Enable non-nullable reference types in cache interfaces (#1089)
* Update RuntimeContracts to support non-nullable types.

* Roll back nuget end point

* Enable non-nullable refernece types in cache interfaces.

* Fix pragma

* Exclude non-nullable attributes for .NET Core.
2019-10-29 11:02:19 -07:00
Sergey Teplyakov cf9675cfbe
Update RuntimeContracts to support non-nullable types. (#1084)
* Update RuntimeContracts to support non-nullable types.

* Roll back nuget end point
2019-10-23 13:16:48 -07:00
Aleksandar Milicevic 0c65334b8f
Use checked-in package-lock.json file for npm install (#1078)
This avoids generating package-lock.json upon every build; given that npm install without a lock file is not necessarily deterministic, every build can in theory generate a new package-lock.json. Instead, when the lock file is explicitly provided, the behavior of npm install is fixed and deterministic.
2019-10-21 15:29:05 -07:00
Mihai Codoban 968f40483f
Update msbuild (#1055)
* update msbuild

* increase min assembly version

* Update dataflow version used by msbuild

* update nuget/cgmanifest
2019-10-18 14:27:11 -07:00
Rijul Luman ce27e988d7
Removed unused NETCore.App 2.1 and 2.2 (#1024)
* Removed unused NETCore.App 2.1 for CG improvements
* Removed unused NETCore.App 2.2
2019-10-10 11:55:33 -07:00
Rijul Luman b4785aa5f4
Properly build 'buildxl.dscript' VSCode extension with Npm (#966)
* build vscode extension automatically with BuildXL
* copy package-lock.json to cg/npm
2019-10-03 11:24:02 -07:00
Kristijan Šimić 401dde8b39
Updating .NETCoreApp package to 3.0 (#903)
* Updating .NETCoreApp package to 3.0.0
2019-09-24 12:00:23 +02:00
Kevin Bazan Williams cee3b09deb
Update OData version (#894) 2019-09-19 10:48:16 -07:00
Juan Carlos Guzmán Islas 1805032eb9
Content placement predictions for proactive copies (#871)
* Initial version of content placement analyzer

* added core project

* Added contentplacement.core and contenplacementanalyzer

* build download

* half of the pipeline is done

* First piece of the pipeline is done

* Pipeline [1]: Build download and sampling done

* Addressing PR comments

* Initial version of ContentPlacementAnalysisTools.ML

* WIP: ML pipeline 60%

* pipline 65%

* Pipeline 80%

* (WIP) tree parser

* (WIP) Evaluating random forest

* (WIP) 99% ML backend

* Done

* Tested and working

* removing csproj file

* fixed missing comments

* Adding scripts for extraction

* remove references to resx file

* Done with readme files

* Fix merge

* Refactor

* Add RocksDbBackingStore

* Move Store to Distributed

* Initial version of content placement analyzer

* added core project

* Added contentplacement.core and contenplacementanalyzer

* build download

* half of the pipeline is done

* First piece of the pipeline is done

* Pipeline [1]: Build download and sampling done

* Addressing PR comments

* Initial version of ContentPlacementAnalysisTools.ML

* WIP: ML pipeline 60%

* pipline 65%

* Pipeline 80%

* (WIP) tree parser

* (WIP) Evaluating random forest

* (WIP) 99% ML backend

* Done

* Tested and working

* removing csproj file

* fixed missing comments

* Adding scripts for extraction

* remove references to resx file

* Done with readme files

* Fix merge

* Refactor

* Add RocksDbBackingStore

* Move Store to Distributed

* WIP integrate blob

* Fix contract exception

* WIP download blob

* First version of OfflineMapper

* Compress and Uncompress

* Inital working version

* Added flag to distinguish CBTest from Prod

* Squash to be compatible with CodeFlow
2019-09-16 14:51:51 -07:00
Aleksandar Milicevic 63a058c4a9
XLG Debugger for VsCode (#738)
AB#1581992
2019-08-16 15:33:37 -07:00
dannyvv 06bcd59a19
[MsBuild] Upgrade to 16.3.0-preview-19415-01 (#747) 2019-08-16 12:54:39 -07:00
dannyvv 7008f9594e
Reduce Sqlite nuget dependencies (#696) 2019-08-02 13:50:06 -07:00
dannyvv d97329e444
Use VSTS Public feed for selfhost dependencies rather than myget (#689) 2019-08-01 17:56:42 -07:00
Sahil Gandhi 22ab37c62f
Populate RocksDB with all XLG events (#671)
AB#1574994
AB#1574153
AB#1574993

Populated the rest of the XLG events, and updated the protobuf file accordingly. Now the DB is written to immediately rather than let the events buffer up in memory first.
2019-07-31 14:35:31 -07:00
Serge Mera 3733041e39
Enable the MSBuildResolver to work under dotnet core (#561)
Enable the MSBuildResolver to work under dotnet core
2019-07-17 10:23:37 -07:00
David Federman aaf2616bfc
Upgrade to Microsoft.Build.Prediction 0.3.0 (#584) 2019-07-12 12:11:35 -07:00
Aleksandar Milicevic 0a47ff57ed
Remote telemetry for ContentStoreApp (#503)
New classes:

 - CsvFileLog: an ILog class that writes log messages to a CSV file and formats them according to a given schema
 - KustoUploader: a class responsible for asynchronously receiving CSV files and ingesting them into a Kusto table
2019-06-27 19:24:58 -07:00
dannyvv 129cba56b1
Use download resolver for electron bits rather than download with pwsh (#530) 2019-06-27 14:47:00 -07:00
David Federman a725108f10
Upgrade Microsoft.Build.Prediction to 0.2.0 (#480)
Upgrade Microsoft.Build.Prediction to 0.2.0
2019-06-17 16:35:50 -07:00
David Federman 77b685a956
Replace BuildPrediction code with the Microsoft.Build.Prediction package (#411) 2019-06-05 14:16:36 -07:00
Kristijan Šimić d632375de2
Switch to Microsoft.DotNet.XUnitConsoleRunner (#356)
* Adjust xUnit console runner to use Dotnet Arcade version with fixes BuildXL needs
2019-05-23 11:37:30 +02:00
dannyvv ef6dc51ebe
Update asp.netcore to v2.2.0 for the Build Explorer (#354) 2019-05-22 19:03:26 -07:00
Aleksandar Milicevic 72266f441f
[.NET Core] enable file access control tests on .net core (#330)
AB#1521781
2019-05-20 11:00:22 -07:00
Kristijan Šimić 42588b0ca6
Change to custom compiled xunit packages for CI crash mitigation (#321) 2019-05-16 23:42:36 +02:00
Aleksandar Milicevic 99fccac9a2
[.NET Core] Add a reference to System.Management and use it for querying child processes (#314)
- add System.Management nuget
- remove define constants:
   - DISABLE_FEATURE_MEMORYMAP_SECURITY
   - DISABLE_FEATURE_SYSTEM_MANAGEMENT

AB#1521781
2019-05-16 09:34:17 -07:00
Aleksandar Milicevic b077cf9eba
[.NET Core] Change the default qualifier to DebugDotNetCore (#309) 2019-05-16 07:47:40 -07:00
dannyvv 0c376c55f0
Update Google.Protobuf to 3.7 (#304) 2019-05-14 16:59:53 -07:00
Kristijan Šimić dd841725e5
Transition to .NETCore 3.0 for BuildXL (#298)
* Switch to .NetCoreApp3.0 as main .NETCore build target
2019-05-14 16:54:06 +02:00
Kristijan Šimić a9b89b4452
Nuget Analyzer + Spec Generator Refactoring (#281)
* General Nuget package target framework support and spec generation reworked
2019-05-10 13:30:36 +02:00
Lance Collins 9b5ff34e1f
Start implementation of BuildXL VFS cas process. (#249)
* Start implementation of BuildXL VFS cas process. Currently just proxies to a backing content server. Next step is to actually add virtualization.

* PR feedback.

* Only VFS build on full framework.

* PR feedback.
2019-05-07 14:46:04 -07:00
dannyvv 563913e590
Don't use external feeds for internal builds (#264) 2019-05-07 14:20:29 -07:00
Semih Okur d1c8ec8d5e
Update RocksDbNative to 6.0.1 (#255) 2019-05-07 13:06:45 -07:00
Aleksandar Milicevic beda61108b
[macOS] CoreRT native compilation for select projects targeting osx (#254)
SDKs for CoreRT native compilation on macOS.

For now, only AppHostPatcher is compiled to native (and that executable is subsequently used to patch binaries throughout the rest of the build).

Future PRs can enable compiling other executables to native.
2019-05-07 08:22:42 -07:00
dannyvv 27a01fb521
Update Microsft.Net.Compilers(Roslyn) to 3.0.0 to enable C#/CSharp 8 features (#197) 2019-04-29 08:43:52 -07:00
Annie Fu d72a42a6cd Use jsondiffpatch.net for cache miss analysis (#207)
* Switch cache miss to use jsondiffpatch.net

* Rip out old diffing classes

* Remove unnecesary line in test
2019-04-26 16:35:29 -07:00
dannyvv 71f1d7031d
Stop building most projects under net461
Maintaining the bits in our nuget folders as customers depend on them (#205)
2019-04-25 13:51:19 -07:00
dannyvv 303b49cc3e
Remove unnecesary feed. The removed feed is already upstreamed to the main feed (#203) 2019-04-25 10:31:36 -07:00
Annie Fu d6e6631d58 Switch Nuget feeds from pkgs.visualstudio.com to dev.azure.com (#160) 2019-04-18 18:23:11 -07:00
dannyvv beb8043491
Make the default qualifier dependent on where you are building (#78) 2019-04-02 21:03:42 -07:00
Microsoft Open Source b5c9f43106 Initial sync
Sync from internal 'Domino' repo at 7ef83bdcd855bd3a837464e44d6de25f19775b5c
2019-03-28 15:35:49 -07:00