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