Skip to content

Commit ebeb209

Browse files
committed
v0.83.86 retarget packaged release assets
1 parent 638bdeb commit ebeb209

6 files changed

Lines changed: 77 additions & 16 deletions

File tree

Changes/changelog.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
# Epoch Changelog
22

33
## [v0.83.86]
4+
- Switched the active packaged updater contract onto the new named runtime
5+
assets `epoch_win10_x64.zip` and `epoch_linux_x64.tar.gz`, with
6+
`version_windows.txt` and `version_linux.txt` as the packaged version probes.
7+
- Kept the updater flow binary-first while preparing the new two-drop release
8+
protocol: a tiny bootstrap updater-shell release can move onto the newest
9+
packaged runtime release first, then source only if packaged parity is
10+
already reached.
411
- Reopened `main` above the published `v0.83.85` release so the source tree,
512
docs, and version metadata can move forward without pretending the live
613
branch is still the shipped snapshot.

Changes/roadmap.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,10 @@ These remain support-tier or project-opt-in work, not the default baseline.
419419
6. Keep multicontext/backend child-window ownership honest across all active
420420
backends.
421421
7. Align packaged Windows and Linux releases with the main runtime path by
422-
default, keep updater-shell builds explicit/bootstrap-only, and keep all
423-
packaged version lines tied to the same bumped source commit.
422+
default, keep updater-shell builds explicit/bootstrap-only, keep packaged
423+
updates ahead of source fallback, and move the runtime asset contract onto
424+
`epoch_win10_x64.zip`, `epoch_linux_x64.tar.gz`, `version_windows.txt`, and
425+
`version_linux.txt`.
424426
8. Keep the six-pane harness useful as an observation/capture tool, but repair
425427
it around live manual truth whenever synthetic input diverges from a clean
426428
human validation.
@@ -443,5 +445,8 @@ These remain support-tier or project-opt-in work, not the default baseline.
443445
report the same bumped version line as the tagged source snapshot, and keep
444446
updater-shell mode as an explicit bootstrap build instead of the default
445447
release identity.
448+
- The bootstrap updater checks the newest packaged runtime release first and
449+
only falls through to source when packaged parity is already reached, using
450+
the new named runtime assets instead of the older alias set.
446451
- The docs stay strong enough to steer future automated passes without needing
447452
to rediscover the architecture from scratch.

Engine/docs/build_scripts.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,16 +155,24 @@ Before publishing a Windows packaged runtime zip:
155155
- run `ConsoleApplication1.exe --version` from the staged folder before zipping
156156
- smoke the no-args packaged entry once before publishing so a release does not
157157
ship a dead startup path
158+
- name the runtime asset `epoch_win10_x64.zip`
159+
- publish `version_windows.txt` beside it
160+
- if the same release family also includes a bootstrap updater-shell drop, keep
161+
that as a separate asset such as `epoch_updater_shell_only_win10_x64.zip`
162+
instead of overloading the runtime package name
158163

159164
Before publishing a Linux/WSL2 asset:
160165

161166
- rebuild from the same bumped source commit that will be tagged
162167
- verify the Linux package reports the same version as the tag/source archive
163-
- keep the packaged `linux_main.tar.gz` and the GitHub source snapshot aligned
164-
to the same commit, not just the same version string
168+
- keep the packaged `epoch_linux_x64.tar.gz` and the GitHub source snapshot
169+
aligned to the same commit, not just the same version string
165170
- verify the packaged Linux artifact starts the main runtime path by default
166171
instead of accidentally shipping an updater-shell-only bootstrap
167172
- do not quietly reuse an older Linux artifact after source has changed
173+
- publish `version_linux.txt` beside the Linux runtime asset
174+
- keep any Linux bootstrap drop separate, for example
175+
`epoch_updater_shell_only_linux_x64.tar.gz`
168176

169177
## Multicontext regression contract
170178

Engine/docs/runtime_operations.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ the same engine-owned path.
2020
- packaged Linux releases should follow that same main-runtime rule: the normal
2121
packaged `epoch` entry is the product path, while updater-shell mode remains
2222
an explicit bootstrap build instead of the default Linux release identity
23+
- packaged updates stay binary-first: the updater shell should pull the newest
24+
named runtime package first, and only continue to source when the packaged
25+
runtime is already version-equal or newer
26+
- the active packaged asset contract is `epoch_win10_x64.zip`,
27+
`epoch_linux_x64.tar.gz`, `version_windows.txt`, and `version_linux.txt`
2328

2429
## Project-driven runtime direction
2530

Engine/modules/updater.config.ixx

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,19 @@ namespace epochnamespace::updater
6262
export inline const std::string PROJECT_PACKAGED_VERSION =
6363
epochnamespace::GetPackagedVersionString();
6464

65+
export inline constexpr std::string_view WINDOWS_RUNTIME_BINARY_ASSET =
66+
"epoch_win10_x64.zip";
67+
export inline constexpr std::string_view LINUX_RUNTIME_BINARY_ASSET =
68+
"epoch_linux_x64.tar.gz";
69+
export inline constexpr std::string_view WINDOWS_BOOTSTRAP_BINARY_ASSET =
70+
"epoch_updater_shell_only_win10_x64.zip";
71+
export inline constexpr std::string_view LINUX_BOOTSTRAP_BINARY_ASSET =
72+
"epoch_updater_shell_only_linux_x64.tar.gz";
73+
export inline constexpr std::string_view WINDOWS_VERSION_ASSET =
74+
"version_windows.txt";
75+
export inline constexpr std::string_view LINUX_VERSION_ASSET =
76+
"version_linux.txt";
77+
6578
// ─────────────────────────────────────────
6679
// Runtime / source build metadata
6780
// ─────────────────────────────────────────
@@ -154,13 +167,13 @@ namespace epochnamespace::updater
154167
switch (platform::current_platform())
155168
{
156169
case platform::RuntimePlatform::Windows:
157-
return { "windows_version.txt", "version.txt" };
170+
return { std::string{ WINDOWS_VERSION_ASSET } };
158171
case platform::RuntimePlatform::Linux:
159-
return { "linux_version.txt" };
172+
return { std::string{ LINUX_VERSION_ASSET } };
160173
case platform::RuntimePlatform::MacOS:
161174
return { "macos_version.txt" };
162175
default:
163-
return { "version.txt" };
176+
return { std::string{ WINDOWS_VERSION_ASSET } };
164177
}
165178
}
166179

@@ -169,13 +182,13 @@ namespace epochnamespace::updater
169182
switch (platform::current_platform())
170183
{
171184
case platform::RuntimePlatform::Windows:
172-
return { "windows_main.zip", "main.zip" };
185+
return { std::string{ WINDOWS_RUNTIME_BINARY_ASSET } };
173186
case platform::RuntimePlatform::Linux:
174-
return { "linux_main.tar.gz" };
187+
return { std::string{ LINUX_RUNTIME_BINARY_ASSET } };
175188
case platform::RuntimePlatform::MacOS:
176189
return { "macos_main.tar.gz" };
177190
default:
178-
return { "main.zip" };
191+
return { std::string{ WINDOWS_RUNTIME_BINARY_ASSET } };
179192
}
180193
}
181194

@@ -184,13 +197,13 @@ namespace epochnamespace::updater
184197
switch (platform::current_platform())
185198
{
186199
case platform::RuntimePlatform::Windows:
187-
return "version.txt";
200+
return std::string{ WINDOWS_VERSION_ASSET };
188201
case platform::RuntimePlatform::Linux:
189-
return "linux_version.txt";
202+
return std::string{ LINUX_VERSION_ASSET };
190203
case platform::RuntimePlatform::MacOS:
191204
return "macos_version.txt";
192205
default:
193-
return "version.txt";
206+
return std::string{ WINDOWS_VERSION_ASSET };
194207
}
195208
}
196209

@@ -199,13 +212,28 @@ namespace epochnamespace::updater
199212
switch (platform::current_platform())
200213
{
201214
case platform::RuntimePlatform::Windows:
202-
return "main.zip";
215+
return std::string{ WINDOWS_RUNTIME_BINARY_ASSET };
203216
case platform::RuntimePlatform::Linux:
204-
return "linux_main.tar.gz";
217+
return std::string{ LINUX_RUNTIME_BINARY_ASSET };
205218
case platform::RuntimePlatform::MacOS:
206219
return "macos_main.tar.gz";
207220
default:
208-
return "main.zip";
221+
return std::string{ WINDOWS_RUNTIME_BINARY_ASSET };
222+
}
223+
}
224+
225+
export inline std::string LATEST_BOOTSTRAP_BINARY_ASSET_NAME()
226+
{
227+
switch (platform::current_platform())
228+
{
229+
case platform::RuntimePlatform::Windows:
230+
return std::string{ WINDOWS_BOOTSTRAP_BINARY_ASSET };
231+
case platform::RuntimePlatform::Linux:
232+
return std::string{ LINUX_BOOTSTRAP_BINARY_ASSET };
233+
case platform::RuntimePlatform::MacOS:
234+
return "epoch_updater_shell_only_macos_x64.tar.gz";
235+
default:
236+
return std::string{ WINDOWS_BOOTSTRAP_BINARY_ASSET };
209237
}
210238
}
211239

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ WSL/Linux note:
129129
- The packaged Linux artifact should behave as the main runtime release by
130130
default. Updater-shell mode is an explicit bootstrap path, not the normal
131131
Linux packaged identity.
132+
- The active packaged-runtime contract is now the explicit named asset pair
133+
`epoch_win10_x64.zip` and `epoch_linux_x64.tar.gz`, with
134+
`version_windows.txt` and `version_linux.txt` used for packaged version
135+
probes.
132136

133137
---
134138

@@ -367,6 +371,10 @@ Highlights:
367371
- Linux packaged runtime guidance is aligned with the actual build defaults:
368372
the main packaged `epoch` runtime is the normal Linux product path, and
369373
updater-shell mode is an explicit bootstrap build only.
374+
- Release packaging is moving onto a clean two-drop protocol from current
375+
source: a tiny bootstrap updater-shell release, then the lean runtime release
376+
it updates into, both using the new canonical asset names instead of the old
377+
`main.zip` / `linux_main.tar.gz` aliases.
370378
- The roadmap continues to center single-context editor OpenGL, single-context
371379
launcher software, deliberate backend switching, and teardown of inactive
372380
backends instead of leaving hidden renderers running in the background.

0 commit comments

Comments
 (0)