* Check version bump on release branches' update
* Skip check version bump on release branch update for initial commit to release branch or the change from dotnet bot
* Remove the exception for dependencies update by dotnet-maestro[bot]
Fixes#9782
Context
Currently workflow runs on every update in the PR and runs the full test on the PR with every update.
However we do not need that when only non source code related changes are made, for instance documentations.
Example of the PR: #9774
Changes Made
Add one pre job with script to check the results of command " git diff --name-only HEAD HEAD~1"
Testing
Test in the draft PR #9812. There are no tests running and tests results uploading
* Disable IDE0005
To be correctly enabled, this requires documentation files, which are disabled in our repo at the moment.
* Update dependencies from https://github.com/dotnet/arcade build 20230714.2
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23213.1 -> To Version 8.0.0-beta.23364.2
Dependency coherency updates
Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
From Version 1.1.0-beta-21480-02 -> To Version 8.0.0-beta.23361.2 (parent: Microsoft.DotNet.Arcade.Sdk
* Remove explicit xunit.core and xunit.assert package reference because they are referenced implicitly
* Remove the attributes in Xunit.NetCore.Extensions which are included in Microsoft.DotNet.XUnitExtensions
* Mark obsolete legacy serialization support APIs using the SYSLIB0051 diagnostic code and suppress SYSLIB0050 warning
* Replace Assert.Same with Assert.Equal
* Work around deprecated Serialization/Deserialization of BinaryFormatter
* Use default source-build job template
* Update dependencies from https://github.com/dotnet/roslyn build 20230718.11
Microsoft.Net.Compilers.Toolset
From Version 4.7.0-3.23361.9 -> To Version 4.8.0-1.23368.11
* Update dependencies from https://github.com/nuget/nuget.client build 6.8.0.35
NuGet.Build.Tasks
From Version 6.7.0-rc.111 -> To Version 6.8.0-preview.1.35
* Update sourcebuild baselines for Arcade + SDK 8
* Minimize STJ reference
* Suppress CP1002
I think this is being fired because the old package targets net7 and the new one targets net8, causing it to fail to load the old reference. We don't have the references available easily to use PackageValidationReferencePath, so suppressing it.
* Revert PackageVersion of xunit.console back to eng/Package.props and comment on PackageVersion of xunit.core in individual project
* Further simplify xunit ref in extensions library
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rainer Sigwald <raines@microsoft.com>
Co-authored-by: Jenny Bai <v-jennybai@microsoft.com>
Co-authored-by: Gang Wang <v-gaw@microsoft.com>
Co-authored-by: Michael Simons <msimons@microsoft.com>
Move (only) the `Windows Full Release (no bootstrap)` leg to the
`windows.vs2022preview.amd64.open` pool, which has Visual Studio 17.6 on
it already.
This will unblock #8674 by avoiding
https://github.com/dotnet/sdk/issues/32691; the `MSBuild.exe.config`
binding redirects in the 17.6 VS will keep the current versions working
for the moment.
* Update dependencies from https://github.com/dotnet/arcade build 20211021.6
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21519.3 -> To Version 6.0.0-beta.21521.6
* Update dependencies from https://github.com/dotnet/arcade build 20211022.3
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21519.3 -> To Version 6.0.0-beta.21522.3
* Update dependencies from https://github.com/dotnet/arcade build 20211108.5
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21519.3 -> To Version 6.0.0-beta.21558.5
* Update dependencies from https://github.com/dotnet/arcade build 20211110.2
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21519.3 -> To Version 6.0.0-beta.21560.2
* Update dependencies from https://github.com/dotnet/arcade build 20211111.4
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21519.3 -> To Version 6.0.0-beta.21561.4
* Update dependencies from https://github.com/dotnet/arcade build 20211112.1
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21519.3 -> To Version 6.0.0-beta.21562.1
* Update dependencies from https://github.com/dotnet/arcade build 20211115.3
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21562.1 -> To Version 6.0.0-beta.21565.3
* Update dependencies from https://github.com/dotnet/arcade build 20211116.8
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Arcade.Sdk
From Version 6.0.0-beta.21519.3 -> To Version 6.0.0-beta.21566.8
* Manually update latest to 2022
* Re-remove reference to netcore 2.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Forgind <Forgind@users.noreply.github.com>
This PR does the following:
Adds the local build infrastructure that lets ArPow (arcade-powered source-build) run in this repo. See https://github.com/dotnet/source-build/blob/master/Documentation/planning/arcade-powered-source-build/onboarding/local-onboarding.md for more details about how it works.
To try it out locally, run this on Linux: ./build.sh -c Release --restore --build --pack /p:ArcadeBuildFromSource=true -bl
Implements source-build CI.
To make sure ArPow (arcade-powered source-build) keeps working in this repo, we need to add it to PR validation. We also need it to run in the official build to publish source-built artifacts that can be tested downstream.
See https://github.com/dotnet/source-build/blob/master/Documentation/planning/arcade-powered-source-build/onboarding/ci-onboarding.md for ArPow CI onboarding info.
Incorporates the existing source-build patches into the repo.
Some background on source-build patches, for anyone who isn't familiar with previous pushes for patch incorporation:
A patch is essentially just a commit that has been extracted from Git into a .patch file that can be applied on demand. The effort to build .NET from source involves creating patches because repos make changes that are incompatible with source-build and need to be fixed up after the original released source code has already been finalized. When the original repo gets PRs over time for servicing, the PR changes sometimes conflict with the source-build patches, just like a merge conflict. The patch files need to be fixed up when this happens, which is a significant maintenance problem for the source-build team.
Several times, the source-build team has pushed for "patch incorporation". This means to merge the commit represented in the .patch file into the original repo's official branch. Doing so prevents patch merge conflicts, because there's no longer a patch to merge against. However, patches inevitably pile up again when getting subsequent servicing releases to work in source-build.
ArPow lets us end this maintenance-heavy process. By running source-build inside CI, patch merge conflicts will immediately block PR validation, so fixup can be handled in place, not solely by the source-build team. Running source-build in CI also means creating new patches won't be necessary except in exceptional circumstances.
See https://github.com/dotnet/source-build/blob/master/Documentation/planning/arcade-powered-source-build/implementation-plan.md for more details on the ArPow implementation plan.
Fixes: dotnet/source-build#2068.
* Update dependencies from https://github.com/dotnet/arcade build 20191002.6
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19502.6
* Migrate to Azure Artifacts feed for tools
* Match repo-local version references to 3.0.100
* NuGet packages that get deployed into bootstrap
* the SDK itself
* Include RuntimeIdentifierGraph.json in bootstrap
Avoids errors when building with the bootstrapped build like
```
src/MSBuild/MSBuild.csproj(0,0): error NU1007: The runtime.json specified in the project '/Users/vsts/agent/2.158.0/work/1/s/stage1/bin/bootstrap/netcoreapp2.1/MSBuild/RuntimeIdentifierGraph.json' could not be found.
```
* NuGet 5.3 warnings
* Explicitly specify 4.7.2 in CoreXT package
* Use in-package icon rather than URL
* Use hosted pool
For reasons I don't fully understand, specifying the 'Hosted' pool name
caused the use of different machines, even though it seems like it's
redundantly specifying the default. Removing the specification entirely
assigns to the machines I expect.
Since Arcade pushed to SDK 2.2.203, the easiest thing to do is move to
requiring Visual Studio 2019, which can use that SDK. We'll need to do
so at some point in the future, anyway, to get .NET Core 3.0.
Update toolset dependency to new CLI version, including NuGet, to
support the bootstrap build.
succeededOrFailed() evaluates to false when the job is cancelled (as due to a timeout), which makes diagnosing test hangs difficult. Instead, always capture whatever logs and test output exists.
Fixes#4001 by switching the initial build of the bootstrapped-core job
to also be driven by core MSBuild.
Changes the `-hostType` parameter of `cibuild_bootstrapped_msbuild` to
`-msbuildEngine` to match the Arcade build option.