Use this checklist for every public CorePin release. Replace the example
0.1.100-preview version throughout.
- Confirm the release scope and user-visible changes.
- Update
CorePin.Version.propsto the intended product version. - Create
.github\release-notes\v0.1.100-preview.mdfrom the release-notes template. - Update end-user documentation and screenshots for visible changes.
- Update architecture, configuration, benchmark, or session-format documents when their contracts changed.
- Confirm
git status --shortcontains no unintended files or generated output fromartifacts,bin, orobj.
Build every managed and native project in Release configuration:
.\tools\Build-CorePin.ps1 -Configuration ReleaseRun all automated harnesses:
dotnet run --project CorePin.UI.Tests\CorePin.UI.Tests.csproj -c Release
dotnet run --project CorePin.Performance.Tests\CorePin.Performance.Tests.csproj -c Release
dotnet run --project CorePin.ScenarioRunner.Tests\CorePin.ScenarioRunner.Tests.csproj -c Release
.\artifacts\Build\Release\native\CorePin.Profiler.Tests.exe
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\tools\Test-CorePinService.ps1 -Configuration ReleaseRecord hardware- or privilege-related skips. Investigate every failure on a supported test case.
.\tools\Publish-CorePinPackage.ps1 -Version 0.1.100-preview
.\artifacts\CorePin\service\CorePin.Service.exe --check-config- Confirm the package contains the UI, service, profiler, notification helper, benchmark, assets, and removal scripts described in Scripts And Versioning.
- Confirm the package contains
LICENSE.txt,THIRD_PARTY_NOTICES.md, and the license files underlicenses. - Confirm no PDBs, test executables, ScenarioRunner files, local config, session recordings, or developer-only artifacts are included.
- Start the packaged UI and confirm the About page reports the release version.
- Install or update the packaged service and confirm UI and service versions match.
- Start and stop the service from the Service page.
- Scan at least one available game provider and verify the library result.
- Create or edit a CPU profile, assign it to a test app, save it, and launch the app.
- Confirm the service applies the selected settings and restores temporary process and system state after exit.
- Arm one performance recording, launch the app, and verify the completed report, charts, diagnosis, and recorded configuration.
- Run a Quick System Benchmark and confirm a result is added to history.
- Run Demo Mode and confirm it exits cleanly without saving a benchmark result.
- On a supported system, test DirectX 12 ray-traced shadows.
- Exercise the update check without installing an unintended build.
- Confirm a preview build can discover a newer preview or stable release, and a stable build ignores prereleases.
- Run
Remove-CorePin.cmd -WhatIfand inspect the planned cleanup.
Use representative AMD and Intel systems when available. Multi-group, dual-CCD, AMD scheduling, VR, ray tracing, and multi-GPU behavior cannot all be validated on one machine.
Before tagging, create the same archive shape used by GitHub Actions and verify its checksum locally when practical:
$version = '0.1.100-preview'
$archive = ".\artifacts\CorePin-v$version-win-x64.zip"
Compress-Archive -Path .\artifacts\CorePin\* -DestinationPath $archive -Force
Get-FileHash -Algorithm SHA256 -LiteralPath $archiveOpen the ZIP and repeat a minimal launch/config-loader smoke test from the extracted copy.
- Commit and push the version, notes, documentation, and release changes.
- Confirm the intended commit is on the release branch.
- Create and push an annotated tag:
git tag -a v0.1.100-preview -m "v0.1.100-preview"
git push origin v0.1.100-preview- Confirm the
Release Packageworkflow succeeds. - Confirm the GitHub Release has the intended title and notes.
- Download and verify
CorePin-v0.1.100-preview-win-x64.zipagainstchecksums.txt. - Confirm preview tags are marked as prereleases and stable tags as latest.
If the artifact is wrong, do not replace a published tag. Correct the issue and publish a new version.