Refactor and fix PID sensor (PID_USE_LOCAL_SENSOR) read race conditio… #3980
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_development | |
on: | |
workflow_dispatch: # Start a workflow | |
push: | |
branches: development | |
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: | |
be_solidify: | |
runs-on: ubuntu-latest | |
if: github.repository == 'arendst/Tasmota' && github.ref_name == 'development' | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
#- name: Install clang compiler | |
#run: | | |
#sudo apt-get install -f clang | |
- name: Make Berry and Tasmota Berry code | |
run: | | |
cd lib/libesp32/berry | |
make | |
cd ../berry_tasmota | |
../berry/berry -s -g solidify_all.be | |
- name: Matter Berry Code | |
run: | | |
cd lib/libesp32/berry_matter | |
../berry/berry -s -g solidify_all.be | |
- name: Berry Animate Code | |
run: | | |
cd lib/libesp32/berry_animate | |
../berry/berry -s -g solidify_all.be | |
- name: LVGL Berry Code | |
run: | | |
cd lib/libesp32_lvgl/lv_binding_berry | |
../../libesp32/berry/berry -s -g solidify_all.be | |
- name: HASPmota Berry Code | |
run: | | |
cd lib/libesp32_lvgl/lv_haspmota | |
../../libesp32/berry/berry -s -g solidify_all.be | |
- uses: jason2866/upload-artifact@v2.0.3 | |
with: | |
name: '["berry_tasmota", "berry_matter", "berry_animate", "berry_lvgl", "berry_haspmota", "berry_header"]' | |
path: '["./lib/libesp32/berry_tasmota/src/solidify", "./lib/libesp32/berry_matter/src/solidify", "./lib/libesp32/berry_animate/src/solidify", "./lib/libesp32_lvgl/lv_binding_berry/src/solidify", "./lib/libesp32_lvgl/lv_haspmota/src/solidify", "./lib/libesp32/berry/generate"]' | |
push_solidified: | |
needs: be_solidify | |
runs-on: ubuntu-latest | |
if: github.repository == 'arendst/Tasmota' && github.ref_name == 'development' | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- uses: jason2866/download-artifact@v3.0.4 | |
with: | |
name: | | |
berry_tasmota | |
berry_matter | |
berry_animate | |
berry_lvgl | |
berry_haspmota | |
berry_header | |
path: | | |
./lib/libesp32/berry_tasmota/src/solidify | |
./lib/libesp32/berry_matter/src/solidify | |
./lib/libesp32/berry_animate/src/solidify | |
./lib/libesp32_lvgl/lv_binding_berry/src/solidify | |
./lib/libesp32_lvgl/lv_haspmota/src/solidify | |
./lib/libesp32/berry/generate | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: Solidified Code updated | |
safeboot-images: | |
needs: push_solidified | |
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: development | |
- 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 SHA to footer | |
run: | | |
COMMIT_SHA_LONG=$(git rev-parse --short HEAD || echo "") | |
SHA=${COMMIT_SHA_LONG::7} | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT $SHA-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }} | |
#- name: Use esp32-solo1 safeboot for esp32 too | |
#run: | | |
#cp ./build_output/firmware/tasmota32solo1-safeboot.bin ./build_output/firmware/tasmota32-safeboot.bin | |
- name: Upload safeboot firmware artifacts | |
uses: jason2866/upload-artifact@v2.0.3 | |
with: | |
name: firmware_safeboot | |
path: ./build_output | |
base-images: | |
needs: push_solidified | |
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: development | |
- 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 | |
- name: Add SHA to footer | |
run: | | |
COMMIT_SHA_LONG=$(git rev-parse --short HEAD || echo "") | |
SHA=${COMMIT_SHA_LONG::7} | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT $SHA-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }} | |
- name: Upload firmware artifacts | |
uses: jason2866/upload-artifact@v2.0.3 | |
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: development | |
- 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/download-artifact@v3.0.4 | |
with: | |
name: firmware_safeboot | |
path: ./firmware | |
- name: Add SHA to footer | |
run: | | |
COMMIT_SHA_LONG=$(git rev-parse --short HEAD || echo "") | |
SHA=${COMMIT_SHA_LONG::7} | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT $SHA-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }} | |
- name: Upload firmware artifacts | |
uses: jason2866/upload-artifact@v2.0.3 | |
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: development | |
- 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/download-artifact@v3.0.4 | |
with: | |
name: firmware_safeboot | |
path: ./firmware | |
- name: Add SHA to footer | |
run: | | |
COMMIT_SHA_LONG=$(git rev-parse --short HEAD || echo "") | |
SHA=${COMMIT_SHA_LONG::7} | |
sed -i -e "s/TASMOTA_SHA_SHORT/TASMOTA_SHA_SHORT $SHA-/g" ./tasmota/include/tasmota_version.h | |
- name: Run PlatformIO | |
run: platformio run -e ${{ matrix.variant }}-${{ matrix.language }} | |
- name: Upload language firmware artifacts | |
uses: jason2866/upload-artifact@v2.0.3 | |
with: | |
name: firmware | |
path: ./build_output | |
Start_final_copy: | |
needs: [base-images, base32-images, language-images] | |
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"}' |