Merge branch 'development' into prerelease-14.3.0 #52
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build_firmware_master | |
on: | |
workflow_dispatch: # Start a workflow | |
push: | |
branches: master | |
paths-ignore: | |
- '.github/**' # Ignore changes towards the .github directory | |
- '**.md' # Do no build if *.md files changes | |
# Ensures that only one deploy task per branch/environment will run at a time. | |
concurrency: | |
group: environment-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
safeboot-images: | |
runs-on: ubuntu-latest | |
if: github.repository == 'arendst/Tasmota' | |
continue-on-error: true | |
strategy: | |
matrix: | |
variant: | |
- tasmota32-safeboot | |
- tasmota32solo1-safeboot | |
- tasmota32c2-safeboot | |
- tasmota32c3-safeboot | |
- tasmota32c3ser-safeboot | |
- tasmota32s2-safeboot | |
- tasmota32s2cdc-safeboot | |
- tasmota32s3-safeboot | |
- tasmota32s3ser-safeboot | |
- tasmota32c6-safeboot | |
- tasmota32c6ser-safeboot | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: master | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
pip install wheel | |
pip install -U platformio | |
cp ./platformio_override_sample.ini ./platformio_override.ini | |
- name: Add "release" to footer | |
run: | | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT release-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }} | |
- name: Upload safeboot firmware artifacts | |
uses: jason2866/[email protected] | |
with: | |
name: firmware_safeboot | |
path: ./build_output | |
base-images: | |
runs-on: ubuntu-latest | |
if: github.repository == 'arendst/Tasmota' | |
continue-on-error: true | |
strategy: | |
matrix: | |
variant: | |
- tasmota | |
- tasmota-4M | |
- tasmota-minimal | |
- tasmota-display | |
- tasmota-ir | |
- tasmota-knx | |
- tasmota-lite | |
- tasmota-sensors | |
- tasmota-zbbridge | |
- tasmota-zigbee | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: master | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
pip install wheel | |
pip install -U platformio | |
cp ./platformio_override_sample.ini ./platformio_override.ini | |
- name: Add "release" to footer | |
run: | | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT release-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }} | |
- name: Upload firmware artifacts | |
uses: jason2866/[email protected] | |
with: | |
name: firmware | |
path: ./build_output | |
base32-images: | |
needs: safeboot-images | |
runs-on: ubuntu-latest | |
if: github.repository == 'arendst/Tasmota' | |
continue-on-error: true | |
strategy: | |
matrix: | |
variant: | |
- tasmota32 | |
- tasmota32-zbbrdgpro | |
- tasmota32-webcam | |
- tasmota32-bluetooth | |
- tasmota32-nspanel | |
- tasmota32-display | |
- tasmota32-ir | |
- tasmota32-lvgl | |
- tasmota32c2 | |
- tasmota32c3 | |
- tasmota32c6 | |
- tasmota32s2 | |
- tasmota32s2cdc | |
- tasmota32s3 | |
- tasmota32solo1 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: master | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
pip install wheel | |
pip install -U platformio | |
cp ./platformio_override_sample.ini ./platformio_override.ini | |
- name: Download safeboot firmwares | |
uses: jason2866/[email protected] | |
with: | |
name: firmware_safeboot | |
path: ./firmware | |
- name: Display downloaded files | |
run: | | |
ls -R ./firmware/ | |
- name: Add "release" to footer | |
run: | | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT release-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }} | |
- name: Upload firmware artifacts | |
uses: jason2866/[email protected] | |
with: | |
name: firmware | |
path: ./build_output | |
language-images: | |
needs: safeboot-images | |
runs-on: ubuntu-latest | |
if: github.repository == 'arendst/Tasmota' | |
continue-on-error: true | |
strategy: | |
matrix: | |
variant: [ tasmota, tasmota32 ] | |
language: [ AD, AF, BG, BR, CN, CZ, DE, ES, FR, FY, GR, HE, HU, IT, KO, NL, PL, PT, RO, RU, SE, SK, TR, TW, UK, VN ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: master | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
pip install wheel | |
pip install -U platformio | |
cp ./platformio_override_sample.ini ./platformio_override.ini | |
- name: Download safeboot firmwares | |
uses: jason2866/[email protected] | |
with: | |
name: firmware_safeboot | |
path: ./firmware | |
- name: Display downloaded files | |
run: | | |
ls -R ./firmware/ | |
- name: Add "release" to footer | |
run: | | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT release-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }}-${{ matrix.language }} | |
- name: Upload language firmware artifacts | |
uses: jason2866/[email protected] | |
with: | |
name: firmware | |
path: ./build_output | |
Release: | |
needs: [base-images, base32-images, language-images] | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download Tasmota firmwares | |
uses: jason2866/[email protected] | |
with: | |
name: firmware | |
path: ./mv_firmware | |
- name: Download safeboot firmwares | |
uses: jason2866/[email protected] | |
with: | |
name: firmware_safeboot | |
path: ./mv_firmware | |
- name: Display structure of downloaded files | |
run: ls -R ./mv_firmware/ | |
- name: Zip all map.gz files in one file -> map_all.zip | |
run: 7z a -mx=9 -tzip -xr'!.*' map_all.zip mv_firmware/map | |
- name: Release | |
uses: jason2866/[email protected] | |
#if: startsWith(github.ref, 'refs/tags/') | |
with: | |
tag_name: ${{ github.run_number }} | |
files: | | |
./mv_firmware/firmware/* | |
map_all.zip | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
Start_final_copy: | |
needs: Release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Dispatch workflow in arendst/Tasmota-firmware | |
run: | | |
curl -X POST https://api.github.com/repos/arendst/Tasmota-firmware/actions/workflows/fetch_deploy.yml/dispatches \ | |
-H 'Accept: application/vnd.github.everest-preview+json' \ | |
-u ${{ secrets.API_TOKEN_GITHUB }} \ | |
--data '{"ref": "gh_actions"}' |