diff --git a/.github/workflows/build_executables.yml b/.github/workflows/build_executables.yml index b218ffe..abc4727 100644 --- a/.github/workflows/build_executables.yml +++ b/.github/workflows/build_executables.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2.4.2 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -29,9 +29,9 @@ jobs: echo "UPDATE_TOOL_VERSION = '$(git describe --tags --always)'" > update_tool_version.py - name: Set up Python - uses: actions/setup-python@v3.1.0 + uses: actions/setup-python@v5 with: - python-version: '3.x' + python-version: '3.11' - name: Install dependencies run: | @@ -41,26 +41,7 @@ jobs: fi pip install "pyinstaller==5.13.2" - - name: Build macOS Launcher Script - if: runner.os == 'macOS' - run: | - echo '#!/bin/bash' > wificom-update-tool.command - echo 'SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"' >> wificom-update-tool.command - echo 'cd "$SCRIPT_DIR"' >> wificom-update-tool.command - echo 'python -m pip install --upgrade pip' >> wificom-update-tool.command - echo 'pip install -r requirements.txt' >> wificom-update-tool.command - echo 'python "run.py"' >> wificom-update-tool.command - chmod +x wificom-update-tool.command - mkdir wificom-update-tool - cp wificom-update-tool.command wificom-update-tool/ - cp run.py wificom-update-tool/ - cp update_tool_version.py wificom-update-tool/ - cp requirements.txt wificom-update-tool/ - cp README.md wificom-update-tool/ - zip -r wificom-update-tool-macos.zip wificom-update-tool/ - - - name: Build Windows and Linux Executable - if: runner.os != 'macOS' + - name: Build Executable run: | pip install pyinstaller pyinstaller --icon=wificomlogo1.ico --onefile --noupx --hidden-import=queue --name wificom-update-installer run.py @@ -73,6 +54,9 @@ jobs: if [ "${{ runner.os }}" == "Linux" ]; then mv dist/wificom-update-installer wificom-update-tool-linux fi + if [ "${{ runner.os }}" == "macOS" ]; then + mv dist/wificom-update-installer wificom-update-tool-macos + fi - name: Upload as Build Artifact uses: actions/upload-artifact@v4 @@ -81,7 +65,7 @@ jobs: path: | wificom-update-tool.exe wificom-update-tool-linux - wificom-update-tool-macos.zip + wificom-update-tool-macos - name: Attach to release if: github.event_name == 'release' @@ -90,42 +74,4 @@ jobs: files: | wificom-update-tool.exe wificom-update-tool-linux - wificom-update-tool-macos.zip - build-linux-glibc: - runs-on: ubuntu-latest - container: - image: debian:buster - - steps: - - name: Checkout - uses: actions/checkout@v2.4.2 - - - name: Set up Python - run: | - apt-get update - apt-get install -y python3 python3-pip - python3 -m pip install --upgrade pip - - - name: Install dependencies - run: | - if [ -f requirements.txt ]; then - pip install -r requirements.txt - fi - pip install pyinstaller - - - name: Build Linux Executable with lower glibc - run: | - pyinstaller --onefile --hidden-import=queue --name wificom-update-installer-glibc228 run.py - mv dist/wificom-update-installer-glibc228 wificom-update-tool-linux-glibc228 - - - name: Upload as Build Artifact - uses: actions/upload-artifact@v4 - with: - name: WiFiCom-Update-Tool-Linux-glibc228 - path: wificom-update-tool-linux-glibc228 - - - name: Attach to release - if: github.event_name == 'release' - uses: softprops/action-gh-release@v1 - with: - files: wificom-update-tool-linux-glibc228 + wificom-update-tool-macos diff --git a/README.md b/README.md index 9445279..185182c 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,9 @@ Use this tool to install your initial WiFiCom files or to update an existing WiFiCom to a newer release. Also works for downgrading! ## Mac read first! -- Use `wificom-update-tool.command` -- Requires the Xcode Command Line Tools. Install with `xcode-select --install`, or download from https://developer.apple.com/download/more/ (login required). -- MacOS Sonoma corrupts files on CIRCUITPY drives! Put your WiFiCom in Drive Mode first, then use this workaround before running `wificom-update-tool`: -https://learn.adafruit.com/welcome-to-circuitpython/troubleshooting#macos-sonoma-14-dot-x-disk-errors-writing-to-circuitpy-3160304 +- Updating on Mac is not recommended if it can be avoided. +- On MacOS Sequoia, and Sonoma from 14.4, updates are slow, may cause excessive flash wear on your WiFiCom, and may have issues upgrading CircuitPython. +- MacOS Sonoma before 14.4 corrupts files on CIRCUITPY drives! Put your WiFiCom in Drive Mode first, then use the workaround on [this page](https://learn.adafruit.com/welcome-to-circuitpython/troubleshooting) before running `wificom-update-tool`. ## Updating - Back up the files on your CIRCUITPY drive if you changed anything important. This tool aims to preserve previous WiFiCom config and only delete/overwrite specific files, but be cautious about any files you don't want to lose.