Skip to content

Commit 535ef0a

Browse files
authored
Merge pull request #174 from GeoscienceAustralia/release-v4.1.1
Release v4.1.1
2 parents 0be8b65 + 198b66c commit 535ef0a

28 files changed

Lines changed: 2470 additions & 497 deletions

.github/workflows/build.yaml

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -160,38 +160,27 @@ jobs:
160160
os: ubuntu-latest
161161
binary-artifact: ginan-linux-x64
162162
gui-artifact: ginan-gui-linux-x64
163-
ui-sed-cmd: sed -i '24s/.*/from scripts.GinanUI.app.resources import ginan_logo_rc/' app/views/main_window_ui.py
164163
pyinstaller-args: --windowed
165164
extra-steps: ""
166165

167166
- name: macOS ARM64
168167
os: macos-15
169168
binary-artifact: ginan-macos-arm64
170169
gui-artifact: ginan-gui-macos-arm64
171-
ui-sed-cmd: sed -i '' '24s/.*/from scripts.GinanUI.app.resources import ginan_logo_rc/' app/views/main_window_ui.py
172170
pyinstaller-args: --onedir --clean --target-arch arm64 --noconfirm
173171
extra-steps: macos
174172

175173
- name: macOS x64
176174
os: macos-15-intel
177175
binary-artifact: ginan-macos-x64
178176
gui-artifact: ginan-gui-macos-x64
179-
ui-sed-cmd: sed -i '' '24s/.*/from scripts.GinanUI.app.resources import ginan_logo_rc/' app/views/main_window_ui.py
180177
pyinstaller-args: --onedir --clean --noconfirm
181178
extra-steps: macos
182179

183180
- name: Windows x64
184181
os: windows-latest
185182
binary-artifact: ginan-windows-x64
186183
gui-artifact: ginan-gui-windows-x64
187-
ui-sed-cmd: |
188-
(Get-Content app/views/main_window_ui.py) | ForEach-Object {
189-
if ($_.ReadCount -eq 24) {
190-
"from scripts.GinanUI.app.resources import ginan_logo_rc"
191-
} else {
192-
$_
193-
}
194-
} | Set-Content app/views/main_window_ui.py
195184
pyinstaller-args: --windowed
196185
pyinstaller-separator: ";"
197186
extra-steps: ""
@@ -221,20 +210,9 @@ jobs:
221210
pip install -r scripts/GinanUI/requirements.txt
222211
pip install pyinstaller
223212
224-
- name: Convert UI files to Python (Unix)
225-
if: runner.os != 'Windows'
213+
- name: Convert UI files to Python
226214
working-directory: scripts/GinanUI
227-
run: |
228-
pyside6-uic app/views/main_window.ui -o app/views/main_window_ui.py
229-
${{ matrix.ui-sed-cmd }}
230-
231-
- name: Convert UI files to Python (Windows)
232-
if: runner.os == 'Windows'
233-
working-directory: scripts/GinanUI
234-
shell: pwsh
235-
run: |
236-
pyside6-uic app/views/main_window.ui -o app/views/main_window_ui.py
237-
${{ matrix.ui-sed-cmd }}
215+
run: python app/utils/ui_compilation.py
238216

239217
- name: Make binaries executable (Unix)
240218
if: runner.os != 'Windows'
@@ -292,14 +270,17 @@ jobs:
292270
run: |
293271
python -m PyInstaller --name GinanUI \
294272
${{ matrix.pyinstaller-args }} \
295-
--add-data "scripts/GinanUI/app:app" \
273+
--add-data "scripts/GinanUI/app:scripts/GinanUI/app" \
274+
--add-data "scripts/GinanUI/docs:scripts/GinanUI/docs" \
296275
--add-data "scripts/plot_pos.py:scripts" \
276+
--add-data "scripts/plot_trace_res.py:scripts" \
297277
--add-binary "bin/*:bin" \
298278
--hidden-import PySide6 \
299279
--hidden-import PySide6.QtWebEngineWidgets \
300280
--hidden-import PySide6.QtWebEngineCore \
301281
--hidden-import plotly \
302282
--hidden-import scripts.plot_pos \
283+
--hidden-import scripts.plot_trace_res \
303284
--hidden-import scripts.GinanUI.app \
304285
--hidden-import scripts.GinanUI.app.models \
305286
--hidden-import scripts.GinanUI.app.models.execution \
@@ -314,22 +295,24 @@ jobs:
314295
--hidden-import scripts.GinanUI.app.utils.gn_functions \
315296
--hidden-import scripts.GinanUI.app.utils.yaml \
316297
--hidden-import scripts.GinanUI.app.views.main_window_ui \
317-
--collect-all scripts.GinanUI \
318298
scripts/GinanUI/main.py
319299
320300
- name: Build GUI with PyInstaller (Windows)
321301
if: runner.os == 'Windows'
322302
run: |
323303
pyinstaller --name GinanUI `
324304
${{ matrix.pyinstaller-args }} `
325-
--add-data "scripts/GinanUI/app;app" `
305+
--add-data "scripts/GinanUI/app;scripts/GinanUI/app" `
306+
--add-data "scripts/GinanUI/docs;scripts/GinanUI/docs" `
326307
--add-data "scripts/plot_pos.py;scripts" `
308+
--add-data "scripts/plot_trace_res.py;scripts" `
327309
--add-binary "bin/*;bin" `
328310
--hidden-import PySide6 `
329311
--hidden-import PySide6.QtWebEngineWidgets `
330312
--hidden-import PySide6.QtWebEngineCore `
331313
--hidden-import plotly `
332314
--hidden-import scripts.plot_pos `
315+
--hidden-import scripts.plot_trace_res `
333316
--hidden-import scripts.GinanUI.app `
334317
--hidden-import scripts.GinanUI.app.models `
335318
--hidden-import scripts.GinanUI.app.models.execution `
@@ -344,7 +327,6 @@ jobs:
344327
--hidden-import scripts.GinanUI.app.utils.gn_functions `
345328
--hidden-import scripts.GinanUI.app.utils.yaml `
346329
--hidden-import scripts.GinanUI.app.views.main_window_ui `
347-
--collect-all scripts.GinanUI `
348330
scripts/GinanUI/main.py
349331
350332
# Post-build cleanup

Docs/announcements.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
11

2+
> **13 Feb 2026** - the Ginan team is pleased to release Ginan patch v4.1.1
3+
>
4+
> **Highlights**:
5+
>
6+
> * Fix issue reading RINEX files in Windows binaries (CRLF-ended format)
7+
> * Allow station / receivers names to start with a number in config (e.g. 4RMA00AUS)
8+
> * Introduce reading of GLONASS satellites for RNX2 files
9+
> * Various updates to the GUI:
10+
> * Apriori position as config option in interface
11+
> * Ability to run faster rate clocks (1 Hz -> 100 Hz)
12+
> * SINEX downloading and validation
13+
> * Verify downloads against CDDIS checksums
14+
> * Use archived products if available
15+
216
> **30 Jan 2026** - the Ginan team is pleased to release Ginan update v4.1.0
317
>
418
> **Highlights**:

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Ginan: GNSS Analysis Software Toolkit
44

5-
[![Version](https://img.shields.io/badge/version-v4.1.0-blue.svg)](https://github.com/GeoscienceAustralia/ginan/releases)
5+
[![Version](https://img.shields.io/badge/version-v4.1.1-blue.svg)](https://github.com/GeoscienceAustralia/ginan/releases)
66
[![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE.md)
77
[![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg)](#supported-platforms)
88
[![Docker](https://img.shields.io/badge/docker-available-blue.svg)](https://hub.docker.com/r/gnssanalysis/ginan)
@@ -57,7 +57,7 @@ The fastest way to get started with Ginan is using Docker:
5757

5858
```bash
5959
# Pull and run the latest Ginan container
60-
docker run -it -v $(pwd):/data gnssanalysis/ginan:v4.1.0 bash
60+
docker run -it -v $(pwd):/data gnssanalysis/ginan:v4.1.1 bash
6161

6262
# Verify installation
6363
pea --help
@@ -120,7 +120,7 @@ Choose the installation method that best fits your needs:
120120

121121
```bash
122122
# Run Ginan container with data volume mounting
123-
docker run -it -v ${pwd}:/data gnssanalysis/ginan:v4.1.0 bash
123+
docker run -it -v ${pwd}:/data gnssanalysis/ginan:v4.1.1 bash
124124
```
125125

126126
This command:
@@ -294,7 +294,7 @@ cd ../../exampleConfigs
294294

295295
Expected output:
296296
```
297-
PEA starting... (main ginan-v4.1.0 from ...)
297+
PEA starting... (main ginan-v4.1.1 from ...)
298298
Options:
299299
-h [ --help ] Help
300300
-q [ --quiet ] Less output
@@ -462,4 +462,4 @@ All incorporated code has been preserved with appropriate modifications in the `
462462

463463
---
464464

465-
**Developed by [Geoscience Australia](https://www.ga.gov.au/)** | **Version 4.1.0** | **[GitHub Repository](https://github.com/GeoscienceAustralia/ginan)**
465+
**Developed by [Geoscience Australia](https://www.ga.gov.au/)** | **Version 4.1.1** | **[GitHub Repository](https://github.com/GeoscienceAustralia/ginan)**

0 commit comments

Comments
 (0)