Build of MacOS app bundle NanoVNASaver.app (#634)

* add icon for MacOS based on icon_48x48.png
* add macos build script to build NanoVNASaver.app for current architecture
* add releas app action to build: NanoVNASaver.app-x86_64.tar.gz action
pull/643/head
Crispin Tschirky 2023-05-05 10:40:54 +02:00 zatwierdzone przez GitHub
rodzic 9b4575e307
commit aab2a15f69
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 64 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,43 @@
name: Mac Release App
on:
push:
tags:
- v*
workflow_dispatch:
jobs:
release:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Get Target Environment
id: targetenv
run: |
echo "arch=`uname -m`" >> "$GITHUB_ENV"
- name: Install dependencies and pyinstall
run: |
python -m pip install pip==23.0.1 setuptools==67.6.0
pip install -r requirements.txt
pip install PyInstaller==5.9.0
- name: Build binary
run: |
python setup.py -V
pyinstaller --onedir -p src -n NanoVNASaver nanovna-saver.py --window --clean -y -i icon_48x48.icns
tar -C dist -zcf ./dist/NanoVNASaver.app-${{ env.arch }}.tar.gz NanoVNASaver.app
echo "Created: NanoVNASaver.app-${{ env.arch }}.tar.gz"
- name: Archive production artifacts
uses: actions/upload-artifact@v1
with:
name: NanoVNASaver.app-${{ env.arch }}.tar.gz
path: dist/NanoVNASaver.app-${{ env.arch }}.tar.gz

21
build-macos-app.sh 100755
Wyświetl plik

@ -0,0 +1,21 @@
# Builds a NanoVNASaver.app on MacOS
# ensure you have pyqt >=6.4 installed (brew install pyqt)
#
export VENV_DIR=macbuildenv
# setup build venv
python3 -m venv ${VENV_DIR}
. ./${VENV_DIR}/bin/activate
# install required dependencies (pyqt libs must be installed on the system)
python3 -m pip install pip==23.0.1 setuptools==67.6.0
pip install -r requirements.txt
pip install PyInstaller==5.9.0
python3 setup.py -V
pyinstaller --onedir -p src -n NanoVNASaver nanovna-saver.py --window --clean -y -i icon_48x48.icns
tar -C dist -zcf ./dist/NanoVNASaver.app-`uname -m`.tar.gz NanoVNASaver.app
deactivate
rm -rf ${VENV_DIR}

BIN
icon_48x48.icns 100644

Plik binarny nie jest wyświetlany.