Compare commits

...

4 Commits

4 changed files with 113 additions and 87 deletions

View File

@ -4,60 +4,57 @@ on:
workflow_call: workflow_call:
inputs: inputs:
version: version:
type: string
required: true required: true
type: string
changelog: changelog:
type: string
required: true required: true
type: string
permissions:
contents: write
jobs: jobs:
release: build:
runs-on: gitea-runner-1 runs-on: ubuntu-latest
steps: steps:
- name: Debug Info - uses: actions/checkout@v4
run: |
echo "Version: ${{ inputs.version }}" - name: Set up Python
echo "Changelog: ${{ inputs.changelog }}" uses: actions/setup-python@v4
echo "Tag: ${GITHUB_REF#refs/tags/}" with:
python-version: '3.x'
- uses: actions/checkout@v4
- name: Install dependencies
- name: Set up Python run: |
uses: actions/setup-python@v4 python -m pip install --upgrade pip
with: pip install --upgrade platformio esptool
python-version: '3.x'
- name: Build Firmware
- name: Install dependencies run: |
run: | pio run -t buildfs
python -m pip install --upgrade pip pio run
pip install platformio esptool
- name: Merge firmware and SPIFFS
- name: Build run: |
run: | esptool.py --chip esp32 merge_bin \
pio run -t buildfs --flash_mode dio \
pio run --flash_freq 40m \
--flash_size 4MB \
- name: Create full firmware -o .pio/build/esp32dev/filaman_full.bin \
run: | 0x1000 .pio/build/esp32dev/bootloader.bin \
esptool.py --chip esp32 merge_bin \ 0x8000 .pio/build/esp32dev/partitions.bin \
--flash_mode dio \ 0x10000 .pio/build/esp32dev/firmware.bin \
--flash_freq 40m \ 0x290000 .pio/build/esp32dev/spiffs.bin
--flash_size 4MB \
-o .pio/build/esp32dev/filaman_full.bin \ - name: Prepare OTA firmware
0x1000 .pio/build/esp32dev/bootloader.bin \ run: cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/filaman_ota.bin
0x8000 .pio/build/esp32dev/partitions.bin \
0x10000 .pio/build/esp32dev/firmware.bin \ - name: Create GitHub Release
0x290000 .pio/build/esp32dev/spiffs.bin env:
cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/filaman_ota.bin GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
- name: Create Release gh release create "${{ github.ref_name }}" \
run: | --title "Release ${{ inputs.version }}" \
TAG="${GITHUB_REF#refs/tags/}" --notes "${{ inputs.changelog }}" \
curl -X POST "${GITEA_API_URL}/repos/${GITEA_REPOSITORY}/releases" \ ".pio/build/esp32dev/filaman_full.bin#filaman_full.bin" \
-H "Authorization: token ${GITEA_TOKEN}" \ ".pio/build/esp32dev/filaman_ota.bin#filaman_ota.bin"
-H "Content-Type: application/json" \
-d "{\"tag_name\":\"$TAG\",\"name\":\"Release ${{ inputs.version }}\",\"body\":\"${{ inputs.changelog }}\",\"draft\":false,\"prerelease\":false}"
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_API_URL: ${{ secrets.GITEA_API_URL }}
GITEA_REPOSITORY: ${{ secrets.GITEA_REPOSITORY }}

View File

@ -1,41 +1,60 @@
name: Release name: GitHub Release
on: on:
push: workflow_call:
tags: inputs:
- 'v*' version:
required: true
type: string
changelog:
required: true
type: string
permissions:
contents: write
jobs: jobs:
prepare: build:
runs-on: gitea-runner runs-on: ubuntu-latest
outputs:
version: ${{ steps.version.outputs.version }}
changelog: ${{ steps.changelog.outputs.changelog }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Get version from tag - name: Set up Python
id: version uses: actions/setup-python@v4
run: | with:
VERSION=${GITHUB_REF#refs/tags/v} python-version: '3.x'
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Install dependencies
- name: Get changelog run: |
id: changelog python -m pip install --upgrade pip
run: | pip install --upgrade platformio esptool
echo "$CHANGELOG" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT - name: Build Firmware
run: |
- name: Run GitHub Release pio run -t buildfs
if: github.server_url == 'https://github.com' pio run
uses: ./.github/workflows/providers/github-release.yml
with:
version: ${{ steps.version.outputs.version }}
changelog: ${{ steps.changelog.outputs.changelog }}
- name: Run Gitea Release - name: Merge firmware and SPIFFS
if: github.server_url != 'https://gitlab.fire-devils.org' run: |
uses: ./.github/workflows/providers/gitea-release.yml esptool.py --chip esp32 merge_bin \
with: --flash_mode dio \
version: ${{ steps.version.outputs.version }} --flash_freq 40m \
changelog: ${{ steps.changelog.outputs.changelog }} --flash_size 4MB \
-o .pio/build/esp32dev/filaman_full.bin \
0x1000 .pio/build/esp32dev/bootloader.bin \
0x8000 .pio/build/esp32dev/partitions.bin \
0x10000 .pio/build/esp32dev/firmware.bin \
0x290000 .pio/build/esp32dev/spiffs.bin
- name: Prepare OTA firmware
run: cp .pio/build/esp32dev/firmware.bin .pio/build/esp32dev/filaman_ota.bin
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create "${{ github.ref_name }}" \
--title "Release ${{ inputs.version }}" \
--notes "${{ inputs.changelog }}" \
".pio/build/esp32dev/filaman_full.bin#filaman_full.bin" \
".pio/build/esp32dev/filaman_ota.bin#filaman_ota.bin"

View File

@ -1,5 +1,15 @@
# Changelog # Changelog
## [1.2.24] - 2025-02-19
### Added
- update GitHub release workflow and increment version to 1.2.24
## [1.2.23] - 2025-02-19
### Added
- update Gitea release workflow and increment version to 1.2.23
## [1.2.22] - 2025-02-19 ## [1.2.22] - 2025-02-19
### Added ### Added
- update Gitea runner configuration and increment version to 1.2.22 - update Gitea runner configuration and increment version to 1.2.22

View File

@ -9,7 +9,7 @@
; https://docs.platformio.org/page/projectconf.html ; https://docs.platformio.org/page/projectconf.html
[common] [common]
version = "1.2.22" version = "1.2.24"
[env:esp32dev] [env:esp32dev]
platform = espressif32 platform = espressif32