Use the semver
package to parse the log version in testing
#216
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🗣 Description
This pull request moves the semver package to a testing requirement and uses it to parse the versions in the
test_log_version()
test.💭 Motivation and context
Currently the version comparison relies on explicit string matching. However, I think that this should be more contextually aware. If an underlying Python package is one version and the Docker package (which is in lockstep version-wise) has a build identifier then the versions will not match. However, if a build identifier is the only differentiation between the versions I believe they should be considered equivalent. An example is that
1.0.0
and1.0.0+build.1
should be seen as equivalent versions instead of a mismatch. Using semver to parse the versions will result in these versions being seen as equivalent. Some example version comparisons:Here we see that only versions with build identifiers are considered equivalent. I think this is a reasonable adjustment of how this logic compares versions when it comes to underlying dependencies.
🧪 Testing
Automated tests pass.
✅ Pre-approval checklist