-
Notifications
You must be signed in to change notification settings - Fork 3
Release Test Checklist
What to run before publishing a release package. Everything here is done on a normal PC with the downloaded package - the point is to test what a user actually gets.
- Download the artifact of the
build-release-packageworkflow run. - Extract it to a path that is not the build path and contains a space, e.g.
D:\ez test\ezEngine.Release.X.Y.Z. A surprising number of package-only bugs are path bugs.
Utilities\Scripts\ReleaseTest\Run-ReleaseTests.ps1 `
-SdkDir "D:\ez test\ezEngine.Release.X.Y.Z" `
-OutputDir "D:\ez-test\results-X.Y.Z"Takes roughly 15-30 minutes (the C++ builds dominate). Exit code is the number of failed checks, and
Summary.md in the output folder lists every check with its log and screenshot.
Useful switches:
| Switch | Effect |
|---|---|
-Only Tools,Samples |
run a subset (Tools, Samples, CppProjects, Mcp) |
-IncludeRemote |
also download, transform and run Bistro / Monster Attack / Store (slow, several GB) |
-AllScenes |
run every scene of every project, not just the main scene |
-Renderer DX11 |
only one renderer instead of DX11 and Vulkan |
-SkipExport |
skip the project export and the run of the exported project |
-BinDir <path> |
test a build workspace instead of a package |
What the groups cover:
-
Tools - every shipped executable starts; the console tools answer
-helpwithout crashing. -
Samples - every sample starts through
ezPlayer, renders, exits cleanly, logs no errors, and produces a non-black screenshot, on DX11 and Vulkan. -
CppProjects - the C++ plugin of PacMan / RTS / Asteroids and of a freshly created project builds against the package; the generated CMake points at the extracted package and not at the build machine; the project export runs and the exported game starts.
-
Mcp - the editor's MCP server comes up on a project, the tool inventory is complete, a scene can be opened and inspected, play-in-editor works, a screenshot of the running game is captured, and
app_quitleaves no processes behind. Same forezPlayer -mcpport. -
Suite exits with 0. Investigate every FAIL; a SKIP is only acceptable if the reason in
Summary.mdis.
The automated suite deliberately does not cover interactive behaviour. Walk these by hand:
-
Editor.bat- the dashboard opens, the sample list and its thumbnails are shown. - Download one remote sample (Bistro or Monster Attack) through the dashboard; it clones, unpacks, transforms and opens.
- New-project wizard: create a "Basic FPS" project, open it, play it.
- Open Testing Chambers: browse assets, drag & drop a mesh into the scene, move it with the gizmo, change a property, undo and redo, save, play-in-editor.
- Create a few documents by hand (material, particle effect, prefab) and check that their editors open.
- Open the generated C++ solution in Visual Studio, build it, and reload the plugin in the editor.
- The four standalone sample applications start, render and can be closed:
TextureSample.exe,MeshRenderSample.exe,ShaderExplorer.exe,ComputeShaderHistogram.exe. (They are plainezApplications, so they have none of the unattended options and cannot be scripted.) -
ezInspector.exeagainst a runningezPlayer- it connects and shows live data. - One MCP session from a real client:
claude mcp add --transport http ez-editor http://127.0.0.1:7399/mcpafter startingezEditor.exe -project "Data/Samples/Testing Chambers" -unattended -editor-mcpport 7399. - High-DPI or second monitor: the window layout survives an editor restart.
- Follow
Readme - Getting Started.mdand confirm the steps still match what the package does.