309 Commits
Author SHA1 Message Date
Virgile Bello a48c9e0597 Release notes: the copied images link to the docs commit they were read from 2026-10-09 19:45:51 +09:00
Virgile Bello 8fbf61667b Release notes: the copied written notes leave out their contributor and changelog sections 2026-10-09 19:40:35 +09:00
Virgile Bello 6c53ebd5a8 Release notes: no empty highlights section in the run summary when the written notes are used 2026-10-09 19:19:57 +09:00
Virgile Bello fea2e66d27 Release notes: use the written release notes from stride-docs 2026-10-09 19:04:09 +09:00
Virgile Bello 1816f0bab4 Release notes: generate with Claude Opus 5.5 2026-10-09 18:43:34 +09:00
Virgile Bello 85f07184f4 Launcher release: no more -req package (6.0.1-req on NuGet takes the launchers before 6.0.1 to 6.0.1); the docs say the website download changes with the next website release 2026-10-05 23:52:56 +09:00
Virgile Bello cb963e9905 Launcher release: the website step comment says the download URL goes live with the next website release 2026-10-04 22:45:46 +09:00
Virgile Bello 46d31053f3 Launcher release: the website commit says what the download button points to, with links to the release and the run 2026-10-04 21:55:19 +09:00
Virgile Bello d7240b4bcb Release notes: a changelog larger than the pipe buffer no longer stops the generation (long ranges, e.g. launcher 5.0.6..6.0.1) 2026-10-04 21:55:18 +09:00
Virgile Bello 101d5f7b44 Launcher release: the website download URL is under links in site.json 2026-10-04 20:14:56 +09:00
Virgile Bello 519093dc5f CI: pin the macOS workload set to 10.0.401 (the 27.0 packs need Xcode 27) 2026-09-29 21:15:20 +09:00
Virgile Bello 5ddace2632 CI: the launcher release shows its options in the run name and summary 2026-09-29 17:52:03 +09:00
Virgile Bello 5ec7c597dc Launcher: update rules in an "update:" line, 6.0.1-req keeps older launchers off pre-releases 2026-09-29 17:52:02 +09:00
Virgile Bello 382f26e2a1 CI: a launcher release points the website download to its setup 2026-09-29 17:52:01 +09:00
Virgile Bello 36a102e565 CI: the launcher deploy job runs in the production environment, which holds the NuGet key 2026-09-29 17:52:00 +09:00
Virgile Bello fcc19ad764 CI: create the launcher GitHub release with gh, the release action isn't allowed on stride3d 2026-09-29 17:51:59 +09:00
Virgile Bello 5df0df43a1 Launcher: opt-in pre-releases, StrideSetup version derived from the launcher version 2026-09-29 17:51:56 +09:00
Virgile Bello e50c3e334a Editor tests: Game Studio also runs on Direct3D12 and Vulkan in CI
The test host gets the same per-API assembly layout as Game Studio and picks the
API from STRIDE_GRAPHICS_API at startup. The workflow runs the fixtures once per
API (Direct3D11, Direct3D12, Vulkan); the Vulkan job uses Lavapipe with the
validation layers, without synchronization validation: on the 4-core runner it
starves the asset build and the fixtures time out. The games the fixtures build
stay on Direct3D11. A manual run can pick one API.

The Windows Vulkan setup (SDK, validation layer, Lavapipe ICD) becomes a
composite action shared with the game and enduser workflows.
2026-09-23 15:33:58 +09:00
Virgile Bello 1f00f50838 Vulkan: a read-only depth is not stored, sync validation on in the enduser samples
A depth buffer bound read-only ended its render pass with storeOp Store.
Synchronization validation counts that as a write, so the samples reported
WRITE_AFTER_WRITE in PostProcessingEffects and Compositing.Transparent.
2026-09-22 14:21:16 +09:00
Virgile Bello e417ac50a9 Crash report: the reporter package carries its own version, so an engine release stops republishing it 2026-09-22 04:43:50 +09:00
Virgile Bello f3e82b9fa8 ci: the GitHub release is created from the pushed tag, without a target 2026-09-22 02:36:35 +09:00
Virgile Bello a8ede13da9 ci: a release deploy can be retried after a partial push 2026-09-22 02:27:09 +09:00
Sas van der WesthuizenandClaude Opus 5 89ebaf7d0f ci: run the Vulkan game tests with synchronization validation
Synchronization validation reports a missing barrier as a validation error, which
GameTestBase turns into a test failure. Core validation does not report those.
Every suite in the GPU solution filter passes under the switch with no hazard.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VHYKv129fEUp6sxMbybZWf
2026-09-21 12:48:03 +09:00
Virgile Bello 15d401e156 Samples: the content version lives in StrideSamplesVersion.props, not SharedAssemblyInfo.cs
A samples release no longer rebuilds every assembly: Stride.Assets embeds the file as a resource, outside its reference assembly.
2026-09-19 11:35:53 +09:00
Virgile Bello f8e74abe12 Release samples: prerelease content is typed on purpose; drop the stable-engine check there
release-deploy.yml already refuses a stable engine naming prerelease content, and the check in release-samples.yml wrongly refused a samples beta between engine releases (committed suffix empty).
2026-09-19 10:41:33 +09:00
Virgile Bello dd4c7b5cbd Release samples: show and check the engine version the packs target 2026-09-19 10:41:30 +09:00
Virgile Bello 03c1bc5733 Release: the prerelease suffix is committed in SharedAssemblyInfo.cs instead of a workflow input
Only package builds apply it; dev and CI builds stay at MajorMinor.Patch (+ -devN), so the betas of one version share one dev version.
2026-09-19 10:41:29 +09:00
Nicolas Musset 69505afc47 ci: gate scheduled workflows on fork opt-in via STRIDE_ENABLE_SCHEDULED_CI
Prevent scheduled cron triggers from running on forks by default while
allowing fork maintainers to opt in via repository variable. Aligns
build-windows-full-msbuild and test-android-game with the fork-friendly
pattern already used in check-parallel-build, test-enduser, test-ios-game,
and test-windows-editor.
2026-09-18 21:59:14 +09:00
Virgile Bello 8de669c2e1 ci: say why the iOS runtime filter is narrower than runtime 2026-09-18 17:34:03 +09:00
Virgile Bello c7ed62f42d Samples: release-samples.yml commits the content version after publishing 2026-09-18 09:15:21 +09:00
Virgile Bello 7d203f2743 Samples: rename the sample build targets 2026-09-18 09:15:20 +09:00
Virgile Bello 75497567c4 Samples: version the content template packs separately from the engine 2026-09-18 09:15:19 +09:00
Virgile Bello 460ac7e487 ci: stop requesting the deprecated Android SDK tools package, no longer served 2026-09-15 17:30:25 +09:00
xen2 97d0320d73 Merge pull request #3425 from Kryptos-FR/feature/crashreport-perf
feat: improve crash report perf
2026-09-14 17:16:25 +09:00
Virgile Bello 63ed8c6bb0 ci: key push runs' concurrency groups by commit so a newer master push doesn't cancel the previous one
The called workflows fell back to github.ref, shared by every master push, so each push cancelled the previous commit's jobs and Gate reported them as failures. PRs still group by PR number.
2026-09-14 13:13:23 +09:00
Virgile Bello 8d35446944 ci: label suites: no opened trigger, skip non-ci labels, follow main's draft rule on pushes
Labels picked at creation already fire labeled events, so opened started every suite twice. A label event still runs its suite on a draft; pushes, reopened and ready_for_review skip drafts unless ci-run-on-draft.
2026-09-14 13:11:42 +09:00
Virgile Bello d243f6c422 CI: upload sample hang dumps separately from the captures 2026-09-13 00:47:27 +09:00
Virgile Bello a1f526e450 ci: run one label-suite run per label and drop the label gate
Adding several ci-* labels in a row fired one run per labeled event, all
in the same concurrency group. They cancelled each other, and the gate's
always() still ran inside the cancelled run and reported a false failure.

A labeled event now runs only the suite of the label just added, in its
own concurrency group. Push events keep a shared group and run every
armed suite. The aggregate gate is gone: it was not a required check,
and with per-label runs it could only see its own run's suites.
2026-09-13 00:28:05 +09:00
Nicolas Musset 1823062d19 feat: include crashreport in build launcher paths 2026-09-12 12:29:28 +02:00
delustra 46d82ed5fb ci: build and ship spirv-cross for win-arm64
Stride.Dependencies.SpirvCross ships win-x64 only, so on win-arm64 the
shader translator has no native library to load and every shader-bearing
asset fails to compile:

  TypeInitializationException: The type initializer for
  'Stride.Shaders.Compilers.SpirvTranslator' threw an exception.
   ---> DllNotFoundException: Could not locate or load native library spirv-cross

Silk.NET.SPIRV.Cross.Native does carry a win-arm64 build, but this
package's targets strip Silk's native assets wholesale to keep native
file conflict resolution deterministic. That strip is RID-agnostic, so on
win-arm64 it removes the only available DLL and puts nothing back.

Add an ARM64 build job (MSVC cross-compile on the same runner, mirroring
dep-spirv-tools.yml) and ship the result as runtimes/win-arm64/native/.

Windows-on-ARM native dependencies landed in #2644; spirv-cross arrived a
year later with the SDSL rewrite and was never given the same treatment.

Verified locally: built stride3d/SPIRV-Cross at the packaged commit for
both RIDs, packed with this nuspec, and rebuilt a win-arm64 game from a
wiped output directory. spirv-cross.dll is deployed from the package on
its own, shader compilation succeeds, and the game runs natively on ARM64.
2026-09-12 10:12:23 +09:00
Virgile Bello 2d7a02f093 Run the desktop game tests from one solution
Linux and macOS built and tested the GPU and the API-neutral solutions in
separate steps, the latter always in full and without the test filter. Both
now go through build/Stride.Tests.Game.Desktop.slnf, which lists every suite,
narrowed by the resolver like everything else.

The Windows Direct3D11 job takes that solution too when narrowed, or when a
gold run asks for it with `api-neutral-suites`, so the API-neutral golds can
be regenerated there. Direct3D12 and Vulkan stay on the GPU solution and skip
their build when none of the needed suites is in it: the resolver now answers
that with an empty target instead of the whole solution.
2026-09-10 18:52:26 +09:00
Virgile Bello f251f8fc38 Build only the suites a test run needs
Every test lane resolves its suites with build/tools/Stride.TestSuites: the
`projects` list when given, else the ones `test-filter` can hit, else all.
Windows, Linux and macOS build a solution filter narrowed to them; iOS and
Android bundle only them into the Combined app. A one-test gold run on iOS
went from 18 min of build to 5-10.

`project` becomes `projects` (a list), and the gold hint in test failures
drops it.

Also: the iOS simulator boots after the resolve step (its restore and build
took 3 min next to a cold boot), the gold run can upload binlogs, and manual
runs no longer cancel each other.
2026-09-10 18:13:20 +09:00
Virgile Bello ce583648a8 ci: let fork PRs to stride3d/stride run the launcher and parallel-build checks
Base-repo `vars` aren't readable from a fork PR's context, so gating only on
STRIDE_ENABLE_PUSH_CI skipped every fork PR. Add the repository-name clause
already used by main.yml.
2026-09-10 18:07:38 +09:00
Virgile Bello a3da1761a0 CI: opt the gold checkout into fork refs
actions/checkout refuses a fork ref from a workflow_run job unless the step allows it.
This checkout is data only (sparse image folders, nothing executed, no token persisted),
so the opt-in is safe. The comment is also shortened.
2026-09-09 09:21:15 +09:00
Virgile Bello e2c786a45f CI: judge deferred screenshot frames against the PR's own gold images
The vision gate read its baselines from the base branch, so a PR updating a gold could
not pass the gate until merged. The gate now checks out the PR head's two gold folders
as a sparse, data-only checkout and judges against those, falling back to the base golds
when that checkout fails. The comparator, prompts and API key stay on the base checkout.
2026-09-09 00:58:41 +09:00
Virgile Bello fc5a3efbf1 Release workflow: grant pull-requests:read to Deploy so the nested release-notes job can run 2026-09-07 18:53:21 +09:00
Virgile Bello b0cf226149 Crash report: pin the native-crash capture truth table with tests 2026-09-07 16:00:32 +09:00
Virgile Bello c0057676c1 Crash report: CLI handler, CI artifacts, test defaults and GameStudio policy 2026-09-07 16:00:31 +09:00
Virgile Bello 3f19872077 Crash report: launcher crash reporting with an honest notice 2026-09-07 16:00:27 +09:00
Virgile Bello a2df288809 Crash report: bake the production Sentry DSN and clean the release id 2026-09-07 16:00:27 +09:00