Build & release modernization - #3218
Merged
Merged
Conversation
…U5019 on transient intermediates)
…xt.Net msgfmt tool)
…ps/Stride.GitVersioning (libgit2 + vendored Nerdbank fork)
…ng, binlog option, locate-devenv enumerates VS)
xen2
force-pushed
the
feature/build-modernize
branch
from
June 14, 2026 04:25
3c4a376 to
e64d308
Compare
xen2
force-pushed
the
feature/build-modernize
branch
2 times, most recently
from
June 14, 2026 06:16
620bfc0 to
2b54dab
Compare
xen2
force-pushed
the
feature/build-modernize
branch
from
June 14, 2026 07:35
2b54dab to
b9efc80
Compare
…FMs (iOS/macOS/Android)
…ive mode coverage)
…ate passes via skips)
…Installer target; sign config/secret defined once)
…dcoded dev server, xunit-console orchestration superseded by CI)
…ckage = both, behavior unchanged)
… StrideGitVersion task to end (fix BuildLinux .sln.sln)
xen2
force-pushed
the
feature/build-modernize
branch
from
June 14, 2026 07:53
b9efc80 to
6cfe148
Compare
…y negotiated callee TFM)
xen2
added a commit
to xen2/stride
that referenced
this pull request
Jul 16, 2026
Build & release modernization
xen2
added a commit
to xen2/stride
that referenced
this pull request
Jul 17, 2026
Build & release modernization
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Details
Modernizes the build/release pipeline to run on
dotnet buildend-to-end, simplifies versioning, centralizes signing, and fixes a parallel-build correctness bug. No engine/runtime behavior changes — this is build, CI, and packaging.Highlights
Release & packaging via
dotnet build. Release, NuGet packaging, and the VSIX build no longer need desktop MSBuild/devenv— the pipeline runs throughbuild/Stride.buildand works cross-platform. macOS/iOS platform wiring and an optional binlog switch included.Simplified versioning. Package version is now produced by a small inline MSBuild task (3-part semver
major.minor.<patch>), replacing the vendored Nerdbank/libgit2 dependency (deps/Stride.GitVersioningremoved). The patch is the next release number, derived from thereleases/<major.minor>.*tags reachable from HEAD — so releases are clean and sequential (4.5.0,4.5.1, …) and reset permajor.minorbump. It's ancestor-scoped (branches, older builds, and fork-only tags can't skew it), all-local (works offline / with an unpushed HEAD), and dev builds share the same logic, falling back to the committed base with agit fetch/--unshallowhint when tags are missing. Prerelease suffixes (e.g.-beta) can be set from therelease.ymldispatch -- no commit required, and the run surfaces the built version in the job list even when not deploying. A private prerelease feed (Azure DevOps Artifacts) is planned for hosting these beta builds, pending feed provisioning under the .NET Foundation.Centralized signing. All code-signing and AdvancedInstaller logic collapses into a single
_SignFilestarget and a single_BuildAdvancedInstallertarget -- config/secret defined once, secret never placed on a command line. (Validated with a live signed dry-run.)Parallel-build fix.
GraphicsApiDependentBuildAllno longer leaks the default Direct3D API onto single-API target frameworks (iOS/macOS/Android), eliminating a cross-targeting dispatch race that produced duplicate/colliding builds.gettext on net10. Updated to
Stride.GNU.Gettext3.0.0 (rebuiltmsgfmttool). Closes Update Gettext.Net to target .NET 10.0 #3113.CI improvements.
///#changes) skip all jobs while the gate still passes.Stride.slnfor desktop-engine + MSVC native coverage.Cleanup. Removed dead build targets, made
Cleanportable, and dropped staleToolsVersion/VS2013-era comments.Types of changes
Checklist