esphome-flasher/.github/workflows/build.yml

143 lines
4.1 KiB
YAML

name: Build Workflow
on:
push:
branches: [main]
pull_request:
jobs:
build-windows:
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
- name: Install Python
uses: actions/setup-python@v2.2.2
with:
python-version: '3.9'
architecture: 'x64'
- name: Install requirements
run: |
pip install -r requirements.txt -r requirements_build.txt
pip install -e .
- name: Run PyInstaller
run: |
python -m PyInstaller.__main__ -F -w -n ESPHome-Flasher -i icon.ico esphomeflasher\__main__.py
- uses: actions/upload-artifact@v2
with:
name: Windows
path: dist/ESPHome-Flasher.exe
build-windows-x86:
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
- name: Install Python
uses: actions/setup-python@v2.2.2
with:
python-version: '3.9'
architecture: 'x86'
- name: Install requirements
run: |
pip install -r requirements.txt -r requirements_build.txt
pip install -e .
- name: Run PyInstaller
run: |
python -m PyInstaller.__main__ -F -w -n ESPHome-Flasher -i icon.ico esphomeflasher\__main__.py
- name: See dist directory
run: ls dist
- uses: actions/upload-artifact@v2
with:
name: Windows-x86
path: dist/ESPHome-Flasher.exe
build-ubuntu:
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
- name: Install Python
uses: actions/setup-python@v2.2.2
with:
python-version: '3.9'
- name: Install dependencies
run: |
sudo apt install libgtk-3-dev libnotify-dev libsdl2-dev
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 \
wxPython
- name: Install requirements
run: |
pip install -r requirements.txt -r requirements_build.txt
pip install -e .
- name: Run PyInstaller
run: |
python -m PyInstaller.__main__ -F -w -n ESPHome-Flasher -i icon.ico esphomeflasher/__main__.py
- name: See dist directory
run: ls dist
- uses: actions/upload-artifact@v2
with:
name: Ubuntu
path: dist/ESPHome-Flasher
build-macos:
runs-on: macOS-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
- name: Install Python
uses: actions/setup-python@v2.2.2
with:
python-version: '3.9'
- name: Install requirements
run: |
pip install -r requirements.txt -r requirements_build.txt
pip install -e .
- name: Run PyInstaller
run: |
python -m PyInstaller.__main__ -F -w -n ESPHome-Flasher -i icon.icns esphomeflasher/__main__.py
- name: See dist directory
run: ls dist
- name: Tar files
run: |
tar -C dist -cvf dist.tar ESPHome-Flasher.app
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: macOS
path: dist.tar
build-pypi:
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2.3.5
- name: Install Python
uses: actions/setup-python@v2.2.2
with:
python-version: '3.9'
- name: Install dependencies
run: |
sudo apt install libgtk-3-dev libnotify-dev libsdl2-dev
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 \
wxPython
- name: Install requirements
run: |
pip install -r requirements.txt -r requirements_build.txt
pip install -e .
- name: Run sdist
run: python setup.py sdist bdist_wheel
- name: See dist directory
run: ls dist
- uses: actions/upload-artifact@v2
with:
name: sdist
path: dist/esphomeflasher-*.tar.gz
- uses: actions/upload-artifact@v2
with:
name: bdist_wheel
path: dist/esphomeflasher-*.whl