-
Notifications
You must be signed in to change notification settings - Fork 0
EU Build and Testing
Home · BASIC · UO API · A–Z · Examples · Languages
- Windows x64 and 64-bit PowerShell;
- the .NET SDK pinned by
global.json, or a compatible patch in the same feature band; - an available NuGet cache or network access for package restore;
- Node.js and npm when rebuilding the Eclipse Theia payload;
- sufficient disk space for NativeAOT output and both editions.
Use the repository-provided Windows build command from the root of the selected source edition. Its PowerShell implementation performs environment checks, tests, compilation and output validation. Keep global.json and the package lockfiles intact unless you deliberately update and retest the toolchain.
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 ReleaseThe full and without-Basic source trees must be restored, built and tested independently. A successful full build does not prove that the without-Basic edition is free of Basic UI or Runtime dependencies.
Only required when the IDE frontend or extension changed:
cd .\external\YokoTheia
npm install
npm run buildDo not replace the lockfile or platform versions without rerunning the IDE and language-service checks.
The release client is validated as a Windows x64 NativeAOT payload. A graphical smoke test requires local Ultima Online data and is intentionally separate because copyrighted game data is not distributed with the source.
- ClassicUO tests for both editions;
- InjectionScript Runtime tests;
- LSP and IDE tests;
- NativeAOT builds with no compile errors;
- selected AutoLoad persistence per character;
- Basic Auto Load procedure discovery and execution;
- Basic Example storage and execution;
- unnamed and existing-file Save behavior;
- full-document initialization without scrolling;
- Run, Debug, Pause, Continue, Step and Stop;
- parallel scripts and green/yellow/stopped state indicators;
- Runtime/API Manual parity and valid Basic examples;
- localization and without-Basic isolation.
After creating the distribution ZIP:
- extract it into a clean temporary directory;
- compare the file tree and every payload hash with the staging directory;
- rerun native payload probes for both clients;
- publish the ZIP SHA-256 in an adjacent
.sha256.txtfile.
Automated tests do not replace a visual run against a real server. Separately inspect game-data rendering, server gumps, shard-specific packets and features whose data source is the server.
ClassicUO - Bad Newbie & Basic IDE Edition