Skip to content

Commit 25ea430

Browse files
hhvrcclaude
andcommitted
Fix release build crash when semver has no prerelease/build suffix
split_semver returns None for prerelease and build on clean versions like 1.5.0. These None values were passed into serialize_cpp_define which called int(None), raising a TypeError that crashed all CI builds. Skip setting the CPP defines when prerelease/build are absent, and add #ifndef fallback guards in WSGateway.cpp to default them to nullptr. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 9ad8996 commit 25ea430

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "frontend",
3-
"version": "1.5.0-rc.5",
3+
"version": "1.5.0",
44
"private": true,
55
"type": "module",
66
"scripts": {

scripts/embed_env_vars.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,10 @@ def print_dump(name: str, map: Mapping[str, str | int | bool]) -> None:
228228
cpp_defines['OPENSHOCK_FW_VERSION_MAJOR'] = version_major
229229
cpp_defines['OPENSHOCK_FW_VERSION_MINOR'] = version_minor
230230
cpp_defines['OPENSHOCK_FW_VERSION_PATCH'] = version_patch
231-
cpp_defines['OPENSHOCK_FW_VERSION_PRERELEASE'] = version_prerelease
232-
cpp_defines['OPENSHOCK_FW_VERSION_BUILD'] = version_build
231+
if version_prerelease is not None:
232+
cpp_defines['OPENSHOCK_FW_VERSION_PRERELEASE'] = version_prerelease
233+
if version_build is not None:
234+
cpp_defines['OPENSHOCK_FW_VERSION_BUILD'] = version_build
233235

234236
# Gets the log level from environment variables.
235237
# TODO: Delete get_loglevel and use... something more generic.

src/serialization/WSGateway.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,22 @@ const char* const TAG = "WSGateway";
88
#include "Core.h"
99
#include "Logging.h"
1010

11+
#ifndef OPENSHOCK_FW_VERSION_MAJOR
12+
#define OPENSHOCK_FW_VERSION_MAJOR 0
13+
#endif
14+
#ifndef OPENSHOCK_FW_VERSION_MINOR
15+
#define OPENSHOCK_FW_VERSION_MINOR 0
16+
#endif
17+
#ifndef OPENSHOCK_FW_VERSION_PATCH
18+
#define OPENSHOCK_FW_VERSION_PATCH 0
19+
#endif
20+
#ifndef OPENSHOCK_FW_VERSION_PRERELEASE
21+
#define OPENSHOCK_FW_VERSION_PRERELEASE nullptr
22+
#endif
23+
#ifndef OPENSHOCK_FW_VERSION_BUILD
24+
#define OPENSHOCK_FW_VERSION_BUILD nullptr
25+
#endif
26+
1127
using namespace OpenShock::Serialization;
1228

1329
bool Gateway::SerializePongMessage(Common::SerializationCallbackFn callback)

0 commit comments

Comments
 (0)