v3.0.4 #228
Workflow file for this run
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/upload-artifact@v2.0.3 | |
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/upload-artifact@v2.0.3 | |
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/upload-artifact@v2.0.3 | |
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/upload-artifact@v2.0.3 | |
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/download-artifact@v3.0.4 | |
with: | |
name: | | |
Windows | |
Ubuntu | |
macOS | |
macOSarm | |
path: | | |
binary | |
binary | |
binary | |
binary | |
- name: Display downloaded artifact files | |
run: | | |
ls -R ./ | |
- name: Release | |
uses: jason2866/action-gh-release@v1.3 | |
with: | |
prerelease: false | |
files: | | |
binary/* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |