Naar inhoud springen

.NET

.NET CI op GitHub Actions

NuGet-herstel is netwerkgebonden en de build is single-threaded.

110s → 8s
NuGet-herstel
6m → 2m
Bouw

NuGet-herstel is netwerkgebonden en de build is single-threaded.

Waarom het gebeurt

Restore raakt nuget.org voor elk pakket, en MSBuild parallelliseert geen projecten tenzij dit wordt opgedragen.

Wat te veranderen

  1. Cache ~/.nuget/packages ingetoetst op het lockbestand en herstel met --locked-mode
  2. Bouw met -m om parallelle projectbuilds mogelijk te maken
  3. Sluit de werkruimte uit van scannen door Defender op Windows-hardlopers
  4. Voer tests uit met --parallel en een matrix over testprojecten

.NET op runnerhut

yaml
jobs:
build:
runs-on: runnerhut-8vcpu-windows-2022
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with: { dotnet-version: '9.0' }
- run: dotnet restore --locked-mode
- run: dotnet build -c Release --no-restore -m
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-windows-2022`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.