Skip to content

Commit 73abd25

Browse files
Merge pull request #20 from OpenAstroTech/bugfix/js/fix-new-release-semver-compare
fixup! Add new OATFWGUI release startup check, rework version string to be semver compatible
2 parents 01b05af + e3dbd60 commit 73abd25

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

.github/workflows/build-and-release.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ jobs:
2828
run: curl -L "https://www.python.org/ftp/python/3.10.7/python-3.10.7-embed-amd64.zip" -o python-embedded.zip
2929
- name: Unzip python embedded
3030
run: unzip python-embedded.zip -d dist/.python_local
31+
- name: Weird DLL workaround so that pip can see all default embedded python modules
32+
# See https://github.com/python/cpython/issues/100399#issuecomment-1381486117
33+
run: |
34+
mkdir dist/.python_local/DLLs
35+
GLOBIGNORE="dist/.python_local/python3*.dll"
36+
mv -v dist/.python_local/*.{dll,pyd} dist/.python_local/DLLs
3137
- name: Modify python embedded to allow pip to run # See https://stackoverflow.com/questions/42666121/pip-with-embedded-python
3238
run: rm -v dist/.python_local/python310._pth
3339
- name: Download get-pip.py

OATFWGUI/main.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,22 @@ def check_new_oatfwgui_release() -> Optional[Tuple[str, str]]:
9292
if latest_release_ver is None or release_ver > latest_release_ver:
9393
latest_release_ver = release_ver
9494

95-
if latest_release_ver > local_ver:
96-
log.info(f'New version is available! {latest_release_ver} > {local_ver}')
95+
if latest_release_ver is None:
96+
log.debug(f'No latest release? {response.json()}')
97+
return None
98+
99+
# need to 'finalize' the version, as we use the prerelease/build fields to indicate a release version
100+
# i.e. 0.0.12 > 0.0.12-release+4702dd
101+
latest_release_ver_finialized = latest_release_ver.finalize_version()
102+
local_ver_finialized = local_ver.finalize_version()
103+
104+
if latest_release_ver_finialized > local_ver_finialized:
105+
log.info(f'New version is available! '
106+
f'{latest_release_ver_finialized}({latest_release_ver}) > {local_ver_finialized}({local_ver})')
97107
return str(latest_release_ver), releases[latest_release_ver]
98108
else:
99-
log.debug(f'No new version {latest_release_ver} <= {local_ver}')
109+
log.debug(f'No new version '
110+
f'{latest_release_ver_finialized}({latest_release_ver}) <= {local_ver_finialized}({local_ver})')
100111
return None
101112

102113

0 commit comments

Comments
 (0)