IT Build and Testing - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Build e test — Italiano

Home · BASIC · UO API · A–Z · Examples · Languages

Requisiti per compilare

  • Windows x64 e PowerShell a 64 bit;
  • .NET SDK fissato da global.json o patch compatibile della stessa feature band;
  • cache NuGet disponibile oppure rete per il restore;
  • Node.js e npm se si ricompila Eclipse Theia;
  • spazio libero sufficiente per NativeAOT e le due edizioni.

Verificare i progetti .NET

Dalla radice dei sorgenti Full:

dotnet --version
dotnet restore .\ClassicUO.sln -p:NuGetAudit=false
dotnet test .\tests\ClassicUO.UnitTests\ClassicUO.UnitTests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Tests\InjectionScript.Tests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Lsp.Tests\InjectionScript.Lsp.Tests.csproj -c Release

L’SDK deve rispettare global.json. Una build Full riuscita non sostituisce la compilazione e i test indipendenti dei sorgenti Without Basic.

Ricompilare Basic IDE

L’applicazione Theia è in external\YokoTheia:

cd .\external\YokoTheia
npm install
npm run build

Non modificare lockfile o dipendenze Theia senza rieseguire l’intera suite di regressione IDE.

NativeAOT

Il client Windows distribuibile viene verificato come NativeAOT x64. Uno smoke test grafico richiede dati locali di Ultima Online, che non devono essere inclusi nel repository o nella release.

Controlli obbligatori

  • unit test ClassicUO Full;
  • unit test ClassicUO Without Basic;
  • test InjectionScript Runtime;
  • test LSP/IDE;
  • build NativeAOT di entrambi i client senza errori;
  • audit di parità API senza differenze;
  • native payload probes per entrambe le edizioni;
  • verifica dell’archivio estratto in una cartella pulita.

Le regressioni funzionali devono coprire scelta AutoLoad per personaggio, Basic Auto Load, Basic Example, salvataggio file, indicizzazione completa senza scrolling, Run/Debug/Pause/Continue/Step/Stop, script paralleli, colori di stato, localizzazione e assenza di Basic nell’edizione separata.

Audit API

Missing from Manual: 0
Not registered in Runtime: 0
Invalid signatures: 0
Duplicate entries: 0
Invalid Basic Script examples: 0

Verificare l’archivio della release

  1. Creare lo ZIP da una cartella staging pulita.
  2. Estrarlo in una nuova cartella temporanea.
  3. Confrontare albero e SHA-256 di ogni file con lo staging.
  4. Ripetere i native payload probes di client e client-without-yoko sul contenuto estratto.
  5. Pubblicare separatamente la somma SHA-256 dello ZIP.

I test automatici non sostituiscono un collegamento a un server reale. Gump del server, estensioni packet specifiche dello shard, resa visiva e funzioni dipendenti dai dati di gioco vanno controllati anche manualmente.