From 31878a77bcc60ac69e3dcadac94362572f62adaf Mon Sep 17 00:00:00 2001 From: cottongin Date: Thu, 12 Feb 2026 20:57:55 -0500 Subject: [PATCH] feat: Add mod build environment with version + git hash Add `env:mod` PlatformIO environment that sets CROSSPOINT_VERSION to "{version}-mod+{git_hash}" via a pre-build script. Usage: `pio run -e mod -t upload` Co-authored-by: Cursor --- platformio.ini | 8 ++++++++ scripts/inject_mod_version.py | 15 +++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 scripts/inject_mod_version.py diff --git a/platformio.ini b/platformio.ini index c441e526..626a6d30 100644 --- a/platformio.ini +++ b/platformio.ini @@ -55,6 +55,14 @@ build_flags = ${base.build_flags} -DCROSSPOINT_VERSION=\"${crosspoint.version}-dev\" +[env:mod] +extends = base +extra_scripts = + ${base.extra_scripts} + pre:scripts/inject_mod_version.py +build_flags = + ${base.build_flags} + [env:gh_release] extends = base build_flags = diff --git a/scripts/inject_mod_version.py b/scripts/inject_mod_version.py new file mode 100644 index 00000000..1cc9b1ad --- /dev/null +++ b/scripts/inject_mod_version.py @@ -0,0 +1,15 @@ +Import("env") +import subprocess + +config = env.GetProjectConfig() +version = config.get("crosspoint", "version") + +result = subprocess.run( + ["git", "rev-parse", "--short", "HEAD"], + capture_output=True, text=True +) +git_hash = result.stdout.strip() + +env.Append( + BUILD_FLAGS=[f'-DCROSSPOINT_VERSION=\\"{version}-mod+{git_hash}\\"'] +)