-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using the latest packaging version check #103
Using the latest packaging version check #103
Comments
EDIT: That comment was wrong. |
The bug is coming from inside the house 😱 In AWB repo we have a tag stable, and since we use tags as versions, this breaks with the new In any case, we need to make the code more robust against invalid versions, otherwise any app pushing an invalid tag will break us. EDIT: Please don't delete the tag yet, I will use it to test the fix. |
Here's the full stacktrace, which is different from aiidalab/aiidalab#339, so the fix will need to be applied in a few different places.
|
If it is comes from inside from app, I think it would be nice if we can pop some nice error message and tell which app the problem is coming from. Is it doable? |
Yes. I am cooking up a fix, but it is not so simple since it needs to be fixed in multiple places. I have a branch locally. I think the only sane way is to simply skip invalid versions, since we don't have control over tags on app repositories. We also need to clearly document that the version need to adhere to the Python version specification. |
The AiiDAlab App versions relies on Git tags. However, we have an implicit assumption that the tags are a semantically valid versions, specifically versions valid according to PEP440. Since we do not have control over the apps, this cannot be enforced in any way. New versions of `packaging.parse()` function that we use all over the place started to throw `InvalidVersion` exception when given an invalid version, which lead to crashes described in #339 and aiidalab/aiidalab-registry#103. I went over the all instances of packaging.parse and made sure the call sites are safe. Finally, this allows us to unpin the `packaging` dependency. * Skip invalid versions in _AiidaLabApp.releases * Show test durations * Add unit tests for sort_semantic, add 'reverse' parameter
The fix for this was merged in aiidalab/aiidalab#451, now waiting for #138 to get merged. |
This is the same issue that I recently solved in the aiidalab and aiidalab-registry packages, see aiidalab/aiidaslab#339 and aiidalab/aiidalab-registry#103 for details. It did not occur to me that the same issue occurs here right in our AiiDAlab home!
This is the same issue that I recently solved in the aiidalab and aiidalab-registry packages, see aiidalab/aiidaslab#339 and aiidalab/aiidalab-registry#103 for details. It did not occur to me that the same issue occurs here right in our AiiDAlab home!
This is the same issue that I recently solved in the aiidalab and aiidalab-registry packages, see aiidalab/aiidaslab#339 and aiidalab/aiidalab-registry#103 for details. It did not occur to me that the same issue occurs here right in our AiiDAlab home!
* Fix crash in single_app.ipynb from invalid version This is the same issue that I recently solved in the aiidalab and aiidalab-registry packages, see aiidalab/aiidaslab#339 and aiidalab/aiidalab-registry#103 for details. It did not occur to me that the same issue occurs here right in our AiiDAlab home! * CI: Run tests on push to main branch
Update the
packaging
to22.0
will cause the issue of parsing the version thatstable
is not a valid version tag. We need take a close look at which app using that and ask the app developer to remove the tag.The text was updated successfully, but these errors were encountered: