FCP-INDI / C-PAC_GUI

A new GUI for C-PAC
https://fcp-indi.github.io/C-PAC_GUI/versions/nightly/browser/
Other
2 stars 4 forks source link

🐛 Strip '.dev' before checking semver #151

Closed shnizzedy closed 1 year ago

shnizzedy commented 2 years ago

Fixes

Fixes #150 by @shnizzedy, @tergeorge & @zeosmar

Description

The GUI checks the version of a loaded participant pipeline config to determine how to handle (≥ 1.8.0 are handled differently from 1.5.0 ‒ < 1.8.0); a CI bug prevented the version from being updated from development-version to production-version, and the version comparison was crashing with .dev suffixing the semver.

I already pushed this change to main as a hotfix since the GUI was unusable while both #150 and https://github.com/FCP-INDI/C-PAC/issues/1763 were unresolved.

Technical details

Diagnosis

I ran the production code locally

$ cd C-PAC_GUI
$ git fetch origin
$ git checkout 2eadc9f4
$ yarn run clean:all
$ yarn
$ yarn run dev:browser

and opened http://localhost:1212 in a browser with development tools open, so I could trace the error and test resolution attempts quickly.

Lots of errors showed up in the console on load, but the first meaningful one was `Uncaught TypeError: Invalid Version: 1.8.4.dev   semver.js?8d61`

After c836b5460bf36eb7f3dfc6198193b5b9739e6cd1, that error and all downstream errors are gone!

The code changes that resolve the issue

https://github.com/FCP-INDI/C-PAC_GUI/blob/c836b5460bf36eb7f3dfc6198193b5b9739e6cd1/app/components/PipelineCard.jsx#L42-L44 https://github.com/FCP-INDI/C-PAC_GUI/blob/c836b5460bf36eb7f3dfc6198193b5b9739e6cd1/app/components/PipelineCard.jsx#L152

Root cause

FCP-INDI/CPAC: Actions: Check updated version #271 failed

[develop a4a0e00] :bookmark: Update version to 1.8.4 (🐛 RBC updates: Switch to MNI2006 templates & CBIG's Schaefer; fix XCP-QC 'final' values (#1737))
 46 files changed, 46 insertions(+), 46 deletions(-)
remote: error: GH006: Protected branch update failed for refs/heads/develop.        
remote: error: At least 1 approving review is required by reviewers with write access.        
To https://github.com/FCP-INDI/C-PAC
 ! [remote rejected] HEAD -> develop (protected branch hook declined)
error: failed to push some refs to 'https://github.com/FCP-INDI/C-PAC'

to push the updated version to the config files but reported success ✔ ✔; the unupdated version (1.8.4.dev instead of 1.8.4) went unnoticed until this bug was brought to our attention.

Screenshots

Before

Something went wrong!

After

Default C-PAC 1.8.4.dev

Checklist

Developer Certificate of Origin

Developer Certificate of Origin ``` Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 1 Letterman Drive Suite D4700 San Francisco, CA, 94129 Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. ```