kopia lustrzana https://github.com/NanoVNA-Saver/nanovna-saver
Binary build for Windows again (#706)
* build system updates * updated github actions * use newer upload artifact action * don't crash app on insufficient/invalid cal data fixes #699pull/707/head v0.6.4
rodzic
a2f9044e30
commit
9f0263bc33
|
@ -12,7 +12,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Install python
|
- name: Install python
|
||||||
|
@ -28,21 +28,21 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
python3.11 -m venv build
|
python3.11 -m venv build
|
||||||
. build/bin/activate
|
. build/bin/activate
|
||||||
python -m pip install pip==23.3.2 setuptools==69.0.3
|
python -m pip install pip==24.1 setuptools==70.1.0
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
pip install PyInstaller==6.3.0
|
pip install PyInstaller==6.8.0
|
||||||
|
python3 -m pip install -U PyQt6-sip
|
||||||
|
python3 -m pip install -U PyQt6
|
||||||
- name: Build binary
|
- name: Build binary
|
||||||
run: |
|
run: |
|
||||||
. build/bin/activate
|
. build/bin/activate
|
||||||
python setup.py -V
|
python setup.py -V
|
||||||
pyinstaller --onefile \
|
pyinstaller --onefile \
|
||||||
-p src \
|
-p src \
|
||||||
--add-data "build/lib/python3.11/site-packages/PyQt6/sip.*.so:PyQt6/sip.so" \
|
|
||||||
--add-data "build/lib/python3.11/site-packages/PyQt6/Qt6:PyQt6/Qt6"
|
|
||||||
-n nanovna-saver \
|
-n nanovna-saver \
|
||||||
nanovna-saver.py
|
nanovna-saver.py
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: NanoVNASaver.linux_modern
|
name: NanoVNASaver.linux_modern
|
||||||
path: dist/nanovna-saver
|
path: dist/nanovna-saver
|
||||||
|
|
|
@ -14,11 +14,11 @@ jobs:
|
||||||
arch: [x64, ]
|
arch: [x64, ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.12
|
python-version: 3.12
|
||||||
architecture: ${{ matrix.arch }}
|
architecture: ${{ matrix.arch }}
|
||||||
|
@ -26,10 +26,10 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
python3 -m venv venv
|
python3 -m venv venv
|
||||||
.\venv\Scripts\activate
|
.\venv\Scripts\activate
|
||||||
python3 -m pip install pip==23.3.2
|
python3 -m pip install pip==24.1
|
||||||
python3 -m pip install -U setuptools setuptools-scm
|
python3 -m pip install -U setuptools setuptools-scm
|
||||||
python3 -m pip install -r requirements.txt
|
python3 -m pip install -r requirements.txt
|
||||||
python3 -m pip install PyInstaller==6.3.0
|
python3 -m pip install PyInstaller==6.8.0
|
||||||
python3 -m pip install -U PyQt6-sip
|
python3 -m pip install -U PyQt6-sip
|
||||||
python3 -m pip install -U PyQt6
|
python3 -m pip install -U PyQt6
|
||||||
- name: Build binary
|
- name: Build binary
|
||||||
|
@ -38,7 +38,7 @@ jobs:
|
||||||
python3 setup.py -V
|
python3 setup.py -V
|
||||||
pyinstaller --onefile --noconsole -i icon_48x48.ico -p src -n nanovna-saver.exe nanovna-saver.py
|
pyinstaller --onefile --noconsole -i icon_48x48.ico -p src -n nanovna-saver.exe nanovna-saver.py
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: NanoVNASaver.${{ matrix.arch }}
|
name: NanoVNASaver.${{ matrix.arch }}
|
||||||
path: dist/nanovna-saver.exe
|
path: dist/nanovna-saver.exe
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
pyserial==3.5
|
pyserial==3.5
|
||||||
PyQt6==6.5.2
|
PyQt6==6.7.0
|
||||||
PyQt6-sip==13.6.0
|
PyQt6-sip==13.6.0
|
||||||
sip==6.8.1
|
sip==6.8.4
|
||||||
numpy==1.26.3
|
numpy==1.26.4
|
||||||
scipy==1.12.0
|
scipy==1.13.1
|
||||||
Cython==3.0.8
|
Cython==3.0.10
|
||||||
setuptools==69.0.3
|
setuptools==70.1.0
|
||||||
setuptools-scm==8.0.4
|
setuptools-scm==8.1.0
|
||||||
|
|
|
@ -539,6 +539,13 @@ class CalibrationWindow(QtWidgets.QWidget):
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if not self.app.calibration.isValid1Port():
|
||||||
|
self.app.showError(
|
||||||
|
"Not enough data to apply calibration."
|
||||||
|
" Please complete SOL calibration and try again."
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
cal_element.short_is_ideal = True
|
cal_element.short_is_ideal = True
|
||||||
cal_element.open_is_ideal = True
|
cal_element.open_is_ideal = True
|
||||||
cal_element.load_is_ideal = True
|
cal_element.load_is_ideal = True
|
||||||
|
@ -633,18 +640,20 @@ class CalibrationWindow(QtWidgets.QWidget):
|
||||||
self.app.sweepSource,
|
self.app.sweepSource,
|
||||||
)
|
)
|
||||||
self.app.worker.signals.updated.emit()
|
self.app.worker.signals.updated.emit()
|
||||||
|
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
if logger.isEnabledFor(logging.DEBUG):
|
|
||||||
raise
|
|
||||||
# showError here hides the calibration window,
|
# showError here hides the calibration window,
|
||||||
# so we need to pop up our own
|
# so we need to pop up our own
|
||||||
QtWidgets.QMessageBox.warning(
|
|
||||||
self, "Error applying calibration", str(e)
|
|
||||||
)
|
|
||||||
self.calibration_status_label.setText(
|
self.calibration_status_label.setText(
|
||||||
"Applying calibration failed."
|
"Applying calibration failed."
|
||||||
)
|
)
|
||||||
self.calibration_source_label.setText(self.app.calibration.source)
|
self.calibration_source_label.setText(self.app.calibration.source)
|
||||||
|
self.app.showError(
|
||||||
|
f"{e}"
|
||||||
|
" Please complete SOL calibration and try again."
|
||||||
|
)
|
||||||
|
self.reset()
|
||||||
|
return
|
||||||
|
|
||||||
def loadCalibration(self):
|
def loadCalibration(self):
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(
|
filename, _ = QtWidgets.QFileDialog.getOpenFileName(
|
||||||
|
|
Ładowanie…
Reference in New Issue