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
19 changes: 13 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,26 @@ jobs:
uses: actions/upload-artifact@v7
with:
name: all-artifacts
path: |
SmartSpin2kFirmware-${{ steps.date.outputs.date }}.bin.zip
firmware.factory.bin
S3firmware.factory.bin
path: SmartSpin2kFirmware-${{ steps.date.outputs.date }}.bin.zip
- name: Download Artifacts
uses: actions/download-artifact@v8
with:
name: all-artifacts
- name: Get tag info
id: tag_info
run: echo "SOURCE_TAG=${{ steps.date.outputs.date }}" >> $GITHUB_OUTPUT
- name: Remove obsolete standalone factory assets
env:
GH_TOKEN: ${{ github.token }}
SOURCE_TAG: ${{ steps.tag_info.outputs.SOURCE_TAG }}
run: |
if gh release view "$SOURCE_TAG" > /dev/null 2>&1; then
for asset in firmware.factory.bin S3firmware.factory.bin; do
if gh release view "$SOURCE_TAG" --json assets --jq '.assets[].name' | grep -Fxq "$asset"; then
gh release delete-asset "$SOURCE_TAG" "$asset" --yes
fi
done
fi
- name: Create release
uses: softprops/action-gh-release@v3
with:
Expand All @@ -107,8 +116,6 @@ jobs:
body: ${{ github.event.head_commit.message }}
files: |
SmartSpin2kFirmware-${{ steps.date.outputs.date }}.bin.zip
firmware.factory.bin
S3firmware.factory.bin
- name: Update changelog
uses: thomaseizinger/keep-a-changelog-new-release@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PlatformIO is the expected entry point.
- Pre-commit checks: `pre-commit run --all-files`

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. The two merged factory images are also published as standalone release assets.
The GitHub release archive includes firmware, merged factory, LittleFS, partition-table, and bootloader binaries for both classic ESP32 and ESP32-S3 targets.

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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Automatic filesystem updates now remove files outside the server manifest while preserving settings and power-table data, track the installed filesystem release version, and never replace it with an older release.
- Successful LittleFS uploads from the recovery page now reboot after acknowledging the upload so the replacement filesystem is mounted cleanly.
- Fixed gzip web responses being labeled with duplicate content-encoding headers, which Firefox rejected.
- Minor spelling fixes.

### Hardware
- Corrected the ESP32-S3 shift-up and shift-down pin assignments.
Expand Down
Loading