Merge pull request #11 from mozzwald/esp32s3 #55
Workflow file for this run
This file contains hidden or 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
| on: [push] | |
| name: Build on push with assets | |
| jobs: | |
| build-windows: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10.10' | |
| architecture: 'x64' | |
| - name: Print Versions | |
| run: | | |
| python --version | |
| pip --version | |
| - name: Update, Install & Build in virtual python environment | |
| shell: pwsh | |
| run: | | |
| python -m venv .venv | |
| .\.venv\Scripts\Activate.ps1 | |
| python -m pip uninstall -y esptool | |
| python -m pip install "esptool>=4.7" | |
| pip install -r requirements_build.txt | |
| pip install -e . | |
| pip install --force-reinstall -v pyinstaller==4.10 | |
| pip install --force-reinstall -v pyinstaller-hooks-contrib==2023.2 | |
| python -m PyInstaller.__main__ -F -w -n FujiNet-Flasher -i icon.ico ` | |
| --add-data "./.venv/lib/site-packages/esptool/targets/stub_flasher/1/*.json;esptool/targets/stub_flasher/1" ` | |
| --add-data "./.venv/lib/site-packages/esptool/targets/stub_flasher/2/*.json;esptool/targets/stub_flasher/2" ` | |
| --collect-submodules esptool ` | |
| esphomeflasher\__main__.py | |
| - uses: actions/upload-artifact@master | |
| with: | |
| name: FujiNet-Flasher_win-x64 | |
| path: dist/FujiNet-Flasher.exe | |
| build-windows-x86: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10.10' | |
| architecture: 'x86' | |
| - name: Print Versions | |
| run: | | |
| python --version | |
| pip --version | |
| - name: Update, Install & Build in virtual python environment | |
| shell: pwsh | |
| run: | | |
| python -m venv .venv | |
| .\.venv\Scripts\Activate.ps1 | |
| python -m pip uninstall -y esptool | |
| python -m pip install "esptool>=4.7" | |
| pip install -r requirements_build.txt | |
| pip install -e . | |
| pip install --force-reinstall -v pyinstaller==4.10 | |
| pip install --force-reinstall -v pyinstaller-hooks-contrib==2023.2 | |
| python -m PyInstaller.__main__ -F -w -n FujiNet-Flasher -i icon.ico ` | |
| --add-data "./.venv/lib/site-packages/esptool/targets/stub_flasher/1/*.json;esptool/targets/stub_flasher/1" ` | |
| --add-data "./.venv/lib/site-packages/esptool/targets/stub_flasher/2/*.json;esptool/targets/stub_flasher/2" ` | |
| --collect-submodules esptool ` | |
| esphomeflasher\__main__.py | |
| - name: See dist directory | |
| run: ls dist | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: FujiNet-Flasher_win-x86 | |
| path: dist/FujiNet-Flasher.exe | |
| build-ubuntu: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10.10' | |
| - name: Install dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt install libgtk-3-dev libnotify-dev libsdl2-dev | |
| pip uninstall --yes setuptools | |
| - name: Install requirements | |
| run: | | |
| pip install -r requirements_build.txt | |
| pip install -e . | |
| - name: Run PyInstaller | |
| run: | | |
| export STUBS_DIR="$(pip show esptool | grep "Location: " | cut -c 11- | tr -d '\n')/esptool/targets/stub_flasher/" | |
| python -m PyInstaller.__main__ -F -w -n FujiNet-Flasher -i icon.ico \ | |
| --add-data="${STUBS_DIR}/1/*.json:esptool/targets/stub_flasher/1/" \ | |
| --add-data="${STUBS_DIR}/2/*.json:esptool/targets/stub_flasher/2/" \ | |
| esphomeflasher/__main__.py | |
| - name: See dist directory | |
| run: ls dist | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: FujiNet-Flasher_linux | |
| path: dist/FujiNet-Flasher | |
| build-macos: | |
| runs-on: macos-13 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.9.19' | |
| - name: Print Versions | |
| run: | | |
| python --version | |
| pip --version | |
| # Make sure we’re running in an isolated venv | |
| - name: Update, Install & Build in virtual python environment | |
| run: | | |
| python -m venv .venv | |
| source .venv/bin/activate | |
| python -m pip install --upgrade pip | |
| python -m pip uninstall -y esptool || true | |
| python -m pip install "esptool>=4.7" | |
| python -m pip install -r requirements_build.txt | |
| export STUBS_DIR="$(pip show esptool | grep "Location: " | cut -c 11- | tr -d '\n')/esptool/targets/stub_flasher/" | |
| ls -al ${STUBS_DIR} | |
| python -m PyInstaller.__main__ -F -w -n FujiNet-Flasher -i icon.icns \ | |
| --add-data="${STUBS_DIR}/1/*.json:esptool/targets/stub_flasher/1/" \ | |
| --add-data="${STUBS_DIR}/2/*.json:esptool/targets/stub_flasher/2/" \ | |
| esphomeflasher/__main__.py | |
| - name: Remove Extra Binary | |
| run: rm dist/FujiNet-Flasher | |
| - name: Set binary permissions | |
| run: chmod +x dist/FujiNet-Flasher.app/Contents/MacOS/Fujinet-Flasher | |
| - name: See dist directory | |
| run: ls -alR dist | |
| - name: Tar files | |
| run: | | |
| cd dist | |
| tar -cvf ../FujiNet-Flasher_macos_latest.tar * | |
| cd .. | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: FujiNet-Flasher_macos_latest | |
| path: FujiNet-Flasher_macos_latest.tar | |
| build-macos-mavericks: | |
| runs-on: macos-13 | |
| env: | |
| # We need the official Python, because the GA ones only support newer macOS versions | |
| # The deployment target is picked up by the Python build tools automatically | |
| PYTHON_VERSION: 3.9.1 | |
| MACOSX_DEPLOYMENT_TARGET: 10.9 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v1 | |
| - name: Get Python | |
| run: curl https://www.python.org/ftp/python/${PYTHON_VERSION}/python-${PYTHON_VERSION}-macosx10.9.pkg -o "python.pkg" | |
| - name: Install Python | |
| # Need to copy the pkg because the installer command removes it, breaking the cache | |
| run: | | |
| sudo installer -pkg python.pkg -target / | |
| - name: Print Versions | |
| # Run commands using 'python3' & 'pip3' to avoid using the worker preinstalled python | |
| run: | | |
| python3 --version | |
| pip3 --version | |
| - name: Update, Install & Build in virtual python environment | |
| run: | | |
| python3 -m venv .venv | |
| source .venv/bin/activate | |
| pip3 install --upgrade pip | |
| pip3 uninstall -y esptool || true | |
| pip3 install "esptool>=4.7" | |
| pip3 install -r requirements_build.txt | |
| export STUBS_DIR="$(pip3 show esptool | grep "Location: " | cut -c 11- | tr -d '\n')/esptool/targets/stub_flasher/" | |
| ls -al ${STUBS_DIR} | |
| python3 -m PyInstaller.__main__ -F -w -n FujiNet-Flasher -i icon.icns \ | |
| --add-data="${STUBS_DIR}/1/*.json:esptool/targets/stub_flasher/1/" \ | |
| --add-data="${STUBS_DIR}/2/*.json:esptool/targets/stub_flasher/2/" \ | |
| esphomeflasher/__main__.py | |
| - name: Remove Extra Binary | |
| run: rm dist/FujiNet-Flasher | |
| - name: Set binary permissions | |
| run: chmod +x dist/FujiNet-Flasher.app/Contents/MacOS/Fujinet-Flasher | |
| - name: See dist directory | |
| run: ls -alR dist | |
| - name: Tar files | |
| run: | | |
| cd dist | |
| tar -cvf ../FujiNet-Flasher_macos_mavericks.tar * | |
| cd .. | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@master | |
| with: | |
| name: FujiNet-Flasher_macos_mavericks | |
| path: FujiNet-Flasher_macos_mavericks.tar |