release: 1.4.15 #17
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
| name: Build macOS Executable | |
| on: | |
| workflow_dispatch: | |
| push: | |
| tags: | |
| - '*' | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-macos: | |
| runs-on: macos-14 | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install system dependencies | |
| shell: bash | |
| run: | | |
| brew update | |
| brew install libomp | |
| - name: Install app dependencies | |
| shell: bash | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install pyqt6 pyqtgraph markdown bleak numpy scipy numba fastplotlib PyOpenGL pybind11 setuptools cobs tamp | |
| - name: Build executable archive via release.sh (with C-accelerated line parser) | |
| shell: bash | |
| env: | |
| PYTHON_BIN: python | |
| run: | | |
| bash scripts/release.sh --build-c-executable --build-c-accelerated | |
| - name: Frozen self-tests (C parser + numba) | |
| shell: bash | |
| run: | | |
| FROZEN_EXE="" | |
| if [[ -x "dist/SerialUI/SerialUI" ]]; then | |
| FROZEN_EXE="dist/SerialUI/SerialUI" | |
| elif [[ -x "dist/SerialUI.app/Contents/MacOS/SerialUI" ]]; then | |
| FROZEN_EXE="dist/SerialUI.app/Contents/MacOS/SerialUI" | |
| else | |
| echo "Frozen executable not found for self-tests." >&2 | |
| exit 1 | |
| fi | |
| "${FROZEN_EXE}" --selftest-c-parser | |
| "${FROZEN_EXE}" --selftest-numba | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: SerialUI-macos-${{ github.ref_name }}-${{ github.run_number }} | |
| if-no-files-found: error | |
| retention-days: 14 | |
| path: | | |
| dist/SerialUI-*.zip | |
| dist/SerialUI | |
| dist/SerialUI.app |