* Marks the workspace projects as shipping
* Moves the cache setup location to the build via environment variables
* Cleans up the packaging script.
* Updates the build to stamp the version on SignalR bundles.
This change removes Yarn from our infrastructure completely and replaces it with NPM. There is a package.json in the top folder of the respository that defines the workspace. The workspace lists all the paths to packages that are part of the repository. In addition to that, the top package.json defines scripts that can be run from the root of the repository to install, build test, etc. all the packages in the repository.
Each package has its own package.json file that defines its dependencies and scripts. The scripts in the top package.json file are just wrappers around the scripts in the individual package.json files.
## Developer workflow
### Restore dependencies
To install the dependencies, you can run npm ci from the root of the repository. This will install all the dependencies for all the packages in the repository and automatically link them together. This normally takes very little time once you've have downloaded the packages onto your machine (10s for me).
### Install or update new dependencies
Run npm install ... on whatever node you want to install the dependencies. The package-lock.json will get updated accordingly. For installing new dependencies you might need to authenticate yourself with the NPM VSTS feed. To do that, run:
* `npm install -g vsts-npm-auth`
* `vsts-npm-auth -config .npmrc -F`. This will walk you through the auth process and provision the required credentials.
* `npm install`
### Updating deps to fix Component Governance alerts
* Run npm audit to see the list of issues.
* Run npm audit fix to see if the issues can get addressed automatically.
* If that's not the case:
* If possible, update to a newer version of the package that doesn't include the vulnerable dependency.
* If that's not possible, at the appropriate node, add an entry to the "overrides" property to force the transitive dependency into a non-vulnerable version.
* run npm install from the root.
* run npm audit again to see if the issues have disappeared, if they haven't continue making changes (update more packages, etc).
Upgrading the main deps should always be the preferred route over using overrides. Overrides require that we periodically remove them to check if we can update the dependency later on.
### Building JS components
You can run `npm run build` at the repo root and it will build all the projects (takes about 2 minutes). Or alternatively, you can run `npm run build` on an individual project.json to build only that `project.json`. If you do this, any dependent project should have been built previously. Dependencies won't get build automatically.
### Testing JS components
There are two test categories:
* Unit tests: They are self-contained and don't depend on any of the .NET Code. Run `npm run test`.
* Integration tests: They test the JS in combination with the .NET Code, for which you first need to have run `eng\Build.cmd`, before you invoke the tests. To execute them, run `npm run integration-test`
* Call Yarn Install a second time if first one fails
* Update Npm.Common.targets
* Update Npm.Common.targets
* Update Npm.Common.targets
* More retries
* Version Bumps
* Run with `Test: Windows Server x64`
* Install Playwright in CI
* Add running playwright locally instructions
* Test Cleanup
* Remove Selenium
* Prebuild for Playwright install
* Update default-build.yml
* Update default-build.yml
* Update default-build.yml
* Update default-build.yml
* Update default-build.yml
* Playwright install in test
* New template test pipeline
* Update components-e2e-tests.yml
* Update components-template-tests.yml
* Update components-e2e-tests.yml
* Update components-e2e-tests.yml
* Update components-e2e-tests.yml
* Update components-template-tests.yml
* Update components-e2e-tests.yml
* Update components-e2e-tests.yml
* Update components-e2e-tests.yml
* Revert new pipeline changes
* RestoreAdditionalProjectSources
* Update Templates.Blazor.Tests.csproj
* PR Feedback
* RunBlazorPlaywrightTemplateTests
* Socket logic
* Fixed socket wait logic
Fixes https://github.com/dotnet/aspnetcore/issues/30761
* Remove redundant process wait for exit
We're already in the `Exited` Event:
There are two ways of being notified when the associated process exits: synchronously and asynchronously. Synchronous notification means calling the WaitForExit method to block the current thread until the process exits. Asynchronous notification uses the Exited event, which allows the calling thread to continue execution in the meantime. In the latter case, EnableRaisingEvents must be set to true for the calling application to receive the Exited event.
https://learn.microsoft.com/dotnet/api/system.diagnostics.process.exited?view=net-7.0
* Update BlazorWasmTemplateTest.cs
* Update Templates.Blazor.Tests.csproj
* Revert App.Ref, add src in props
* Config updates
* Update RequiresDelayedBuildProjects.props
* Update Templates.Blazor.Tests.csproj
* Skip failing tests
* Add https://github.com/dotnet/aspnetcore/issues/46430
* Update Templates.Blazor.Tests.csproj
* Update BlazorWasmTemplateTest.cs
* Update BlazorWasmTemplateTest.cs
---------
Co-authored-by: William Godbe <wigodbe@microsoft.com>
- import the variable template
- use the two variables it provides wherever we name the pool
- future release branches will now automatically switch to the -Svc pools
* Update dependencies from https://github.com/dotnet/arcade build 20230123.10
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor
From Version 8.0.0-beta.23067.5 -> To Version 8.0.0-beta.23073.10
* Revert "Don't depend on source-build job while it isn't running (#46220)"
This reverts commit 73690575fd.
* Revert "Skip Source Build for now (#46190)"
This reverts commit c77deebc5a.
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: wtgodbe <wigodbe@microsoft.com>
[main] Update dependencies from dotnet/efcore dotnet/runtime
- Update templatestrings.json files
- Update template.json files
- Update other references to net7
- Rename publicApi folders
- Fix RepoTasks
- Fix it more fixily
- Really fix it for real this time
- Undo PreviewFeatures changes
- Using
- Merge branch 'darc-main-8caa276f-464b-4e95-a7fa-bc264a536653' of https://github.com/dotnet/aspnetcore into darc-main-8caa276f-464b-4e95-a7fa-bc264a536653
- Tasks
- IO
- CTS
- Net70
- Merge branch 'darc-main-8caa276f-464b-4e95-a7fa-bc264a536653' of https://github.com/dotnet/aspnetcore into darc-main-8caa276f-464b-4e95-a7fa-bc264a536653
- Try using net8.0 for HelixTestRunner
- Try making ReferenceAssemblies
- Merge branch 'darc-main-8caa276f-464b-4e95-a7fa-bc264a536653' of https://github.com/dotnet/aspnetcore into darc-main-8caa276f-464b-4e95-a7fa-bc264a536653
- Get analyzer tests working
- Ok fine
- Update doc
- Path combine
- Try somethin wacky
- Fix
- Using
- Merge remote-tracking branch 'upstream/main' into darc-main-8caa276f-464b-4e95-a7fa-bc264a536653
- Quarantine regressed WriteAsJsonAsync tests #45557
- Quarantine regressed async Json test #45557
- Re-order DataAnnotationsMetadataProviderTest expected results
- Quarantine regressed async Json test #45557
- Re-order DataAnnotationsMetadataProviderTest expected results
- Merge remote-tracking branch 'upstream/main' into darc-main-8caa276f-464b-4e95-a7fa-bc264a536653
- Bump E2E timeout to 2 hours
Per discussion in https://github.com/dotnet/aspnetcore/pull/44834#issuecomment-1334592371
- React to enum ordering change
- Merge remote-tracking branch 'upstream/darc-main-8caa276f-464b-4e95-a7fa-bc264a536653' into darc-main-8caa276f-464b-4e95-a7fa-bc264a536653
- Skip a microbenchmark, update a version
- Make test resilient to order changes
- Unquar tests
- remove custom loader for .wasm file (#45611)
* Add CodeQL3000 run to aspnetcore-ci-official
- add new schedule for a weekly run
- add top-level parameter enabling CodeQL3000 in manual builds
- add `enableSBOM` and `variables` parameters in default-build.yml
- add a separate job w/ CodeQL3000 tasks included in build steps; run this job alone
- use the new default-build.yml parameters
- set `$(UseSharedCompilation)` to `false` to ease analysis
- tag CodeQL3000 runs
- add a tsaoptions.json file
- cribbed values from our eng/sdl-tsa-vars.config file
nit: Unconditionally disable the auto-injected component governance build step
- job.yml inserts the task where we need (unless overridden)
Signing happens at the end of the build now, even with in-build signing. The staging pipeline pushes the nupkgs. This step is not necessary, and pushes unsigned nupkgs.
* Add loc comments and fix Windows installer bug
- #44167, escape square brackets in `[directory]`
- add loc comments to lock WiX substitutions
* Support manual runs of the localization pipeline
- manual builds will create loc project but not use the loc backend
* Fix typos in Windows Hosting Bundle loc comments
- should affect most of our pipelines though not a few post-build jobs
- as we saw in #43028, binary logs no longer include all environment variables by default
- this change captures the environment variables not visibly referenced in our projects etc.
- fix avoids a need to add the override later to debug an issue, at the cost of larger .binlog files
- give `$(*LogArgs)` variables slightly different conditions from `$(_BuildArgs)`, `$(_PublishArgs)`, …
- that is, previous variable groupings were slightly off
- enabling binary logs previously broke manifest creation etc.
- {lots of different SDK versions tried}
- Validate DataProtection custom algorithm has a constructor
- Additional fixes
- Suppress IL2121
- Fix NoWarn overrides
- Update LinkabilityChecker.csproj
- Update WasmLinkerTest.csproj
- Bump SDK version yet again
- Hack to stop using `msbuild` server
- please open an issue to keep trying to remove this
- Disable msbuild server for source-build job
Co-authored-by: Steve Sanderson <SteveSandersonMS@users.noreply.github.com>
Co-authored-by: Chris Ross <chrross@microsoft.com>
Co-authored-by: Tanay Parikh <TanayParikh@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
Co-authored-by: Sébastien Ros <sebastienros@gmail.com>
Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
Co-authored-by: Safia Abdalla <safia@microsoft.com>
- was "Exclusively use Azure (public) feeds (#43303)"
- Correct ref to selenium-config.json
- fix what broke `yarn install` in these directories
- Use `yarn` in aspnetcore-components-e2e pipeline
- also correct a missing `--frozen-lockfile`
Co-authored-by: MerlinBot
- Exclusively use Azure (public) feeds
- Correct ref to selenium-config.json
- fix what broke `yarn install` in these directories
- Update a yarn.lock file
- Use `yarn` in aspnetcore-components-e2e pipeline
- also correct a missing `--frozen-lockfile`
Co-authored-by: MerlinBot <>
* Specify the current agent demands and VS version
- we require VS2022 to build native code these days
- Core-Eng really likes `1es-windows-2019[-open]` 😀
* !fixup! Remove extra `$(WindowsTargetPlatformVersion)` settings
- set in Cpp.Common.props
- was incorrect in common.props and led to requiring two Windows SDK versions
* Add script to mirror one internal branch to another
* Fix trigger
* params
* Fixup
* Feedback
* Only run on check-ins
* Individual -> Batched
* No repo
* Fix condition