Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ jobs:
python -m pip install --upgrade pip setuptools wheel
- name: Get current date
id: date
run: echo "date=$(date +'%y.%-m.%-d')" >> $GITHUB_OUTPUT
run: |
release_version=$(date +'%y.%-m.%-d')
echo "date=$release_version" >> "$GITHUB_OUTPUT"
echo "SS2K_FIRMWARE_VERSION=$release_version" >> "$GITHUB_ENV"
- name: Test with environment variables
run: echo $TAG_NAME - $RELEASE_NAME
env:
Expand Down
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ PlatformIO is the expected entry point.

S3 firmware and filesystem builds use `S3firmware.bin` and `S3littlefs.bin` as their native PlatformIO output/upload names. They also create `S3partitions.bin` and `S3bootloader.bin` copies for releases; the generic partition and bootloader intermediates remain because PlatformIO's flash uploader depends on those names.
The GitHub release archive includes firmware, merged factory, LittleFS, partition-table, and bootloader binaries for both classic ESP32 and ESP32-S3 targets.
GitHub Actions exports `SS2K_FIRMWARE_VERSION` from the date-based release tag before invoking PlatformIO. `git_tag_macro.py` requires that override in Actions so published firmware never receives a `git describe` commit suffix; local builds retain branch/commit version details.

Filesystem builds stage deterministic gzip copies of every HTML/CSS source file under the environment build directory. They also refresh the checked-in `.gz` companions and `list.json` in `data/` or `data_s3/`, which are consumed by repository-based automatic OTA updates.

Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

### Changed

### Hardware


## [26.8.14]

### Added

### Changed
- Start the maintenance task directly from `app_main()` and finish initialization on its configurable stack, preventing HTTPS firmware checks from overflowing the ESP-IDF main task.
- Consolidated board pin mappings, revision detection, current scaling, homing capability, and driver sense-resistor values in `boards.h`.
Expand Down
47 changes: 22 additions & 25 deletions git_tag_macro.py
Original file line number Diff line number Diff line change
@@ -1,31 +1,28 @@
import os
import subprocess

subprocess.run(["git", "fetch", "--unshallow"])
branch = (
subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"])
.strip()
.decode("utf-8")
)
tag = os.environ.get("SS2K_FIRMWARE_VERSION")

#try:
# subprocess.check_call(["git", "describe", "--tags"])
#except:
# tag = (
# subprocess.check_output(["git", "describe", "--abbrev=0" "--tags"])
# .strip()
# .decode("utf-8")
# )
#else:
tag = (
subprocess.check_output(["git", "describe", "--tags", "--always"])
.strip()
.decode("utf-8")
if os.environ.get("GITHUB_ACTIONS") == "true" and not tag:
raise RuntimeError("SS2K_FIRMWARE_VERSION must be set for GitHub Actions builds")

if not tag:
subprocess.run(["git", "fetch", "--unshallow"])
branch = (
subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"])
.strip()
.decode("utf-8")
)

if branch != "master":
tag_parts = tag.split("-")
tag = "%s-%s" % (tag_parts[0], branch)
if len(tag_parts) > 1:
tag = "%s-%s" % (tag, "-".join(tag_parts[1:]))
print("-DFIRMWARE_VERSION='\"%s\"'" % tag)
tag = (
subprocess.check_output(["git", "describe", "--tags", "--always"])
.strip()
.decode("utf-8")
)

if branch != "master":
tag_parts = tag.split("-")
tag = "%s-%s" % (tag_parts[0], branch)
if len(tag_parts) > 1:
tag = "%s-%s" % (tag, "-".join(tag_parts[1:]))
print("-DFIRMWARE_VERSION='\"%s\"'" % tag)
Loading