Tasmota Esp Flasher #226
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: Tasmota Esp Flasher | |
on: | |
workflow_dispatch: # Manually start a workflow | |
push: | |
tags: | |
- "v*.*.*" | |
branches: | |
- factory | |
paths-ignore: | |
- '.github/**' # Ignore changes towards the .github directory | |
- '*.md' | |
pull_request: | |
branches: | |
- factory | |
jobs: | |
build-windows: | |
runs-on: windows-2019 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
architecture: 'x64' | |
- name: Install requirements | |
run: | | |
pip install -r requirements.txt -r requirements_build.txt | |
pip install -e . | |
- name: Check if the installed versions can run | |
run: | | |
esp_flasher -h | |
- name: Run PyInstaller | |
run: | | |
python -m PyInstaller.__main__ -F -w -n ESP-Flasher -i icon.ico esp_flasher\__main__.py | |
- name: Test binary | |
shell: bash | |
run: | | |
dist/ESP-Flasher.exe -h | |
- uses: jason2866/[email protected] | |
with: | |
name: Windows | |
path: dist/ESP-Flasher.exe | |
build-ubuntu: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install libnotify-dev libsdl2-dev | |
- name: Install requirements | |
run: | | |
pip install -r requirements.txt -r requirements_build.txt | |
pip install -e . | |
- name: Check if the installed versions can run | |
run: | | |
esp_flasher -h | |
- name: Run PyInstaller | |
run: | | |
python -m PyInstaller.__main__ -F -w -n ESP-Flasher -i icon.ico esp_flasher/__main__.py | |
- name: Test binary | |
shell: bash | |
run: | | |
dist/ESP-Flasher -h | |
- name: Move app | |
run: | | |
mv dist/ESP-Flasher ESP-Flasher | |
- name: 'Tar files' | |
run: tar -cvf Ubuntu.tar ESP-Flasher | |
- uses: jason2866/[email protected] | |
with: | |
name: Ubuntu | |
path: Ubuntu.tar | |
build-macos: | |
runs-on: macos-12 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install requirements | |
run: | | |
pip install -r requirements.txt -r requirements_build.txt | |
pip install -e . | |
- name: Check if the installed versions can run | |
run: | | |
esp_flasher -h | |
- name: Run PyInstaller | |
run: | | |
python -m PyInstaller.__main__ -F -w -n ESP-Flasher -i icon.icns esp_flasher/__main__.py | |
- name: Test binary | |
shell: bash | |
run: | | |
dist/ESP-Flasher -h | |
- name: Move app | |
run: | | |
mv dist/ESP-Flasher.app ESP-Flasher-macOS.app | |
- name: 'Tar files' | |
run: tar -cvf macOS.tar ESP-Flasher-macOS.app | |
- name: 'Upload Artifact' | |
uses: jason2866/[email protected] | |
with: | |
name: macOS | |
path: macOS.tar | |
build-macos-arm: | |
runs-on: macos-14 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install requirements | |
run: | | |
pip install -r requirements.txt -r requirements_build.txt | |
pip install -e . | |
- name: Check if the installed versions can run | |
run: | | |
esp_flasher -h | |
- name: Run PyInstaller | |
run: | | |
python -m PyInstaller.__main__ -F -w -n ESP-Flasher -i icon.icns esp_flasher/__main__.py | |
- name: Test binary | |
shell: bash | |
run: | | |
dist/ESP-Flasher -h | |
- name: Move app | |
run: | | |
mv dist/ESP-Flasher.app ESP-Flasher-macOSarm.app | |
- name: 'Tar files' | |
run: tar -cvf macOSarm.tar ESP-Flasher-macOSarm.app | |
- name: 'Upload Artifact' | |
uses: jason2866/[email protected] | |
with: | |
name: macOSarm | |
path: macOSarm.tar | |
release: | |
name: Upload binaries to release section | |
needs: [build-windows, build-ubuntu, build-macos, build-macos-arm] | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
ref: factory | |
- name: Download built binaries artifacts | |
uses: jason2866/[email protected] | |
with: | |
name: | | |
Windows | |
Ubuntu | |
macOS | |
macOSarm | |
path: | | |
binary | |
binary | |
binary | |
binary | |
- name: Display downloaded artifact files | |
run: | | |
ls -R ./ | |
- name: Release | |
uses: jason2866/[email protected] | |
with: | |
prerelease: false | |
files: | | |
binary/* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |