Make sure we are using synchronized versions of LinkML packages.#10
Merged
Make sure we are using synchronized versions of LinkML packages.#10
Conversation
Some of the Python dependencies we need to run workflows are themselves dependent on LinkML, which means they cause the installation of both `linkml` and its dependency `linkml-runtime`. It seems that these two packages must always be kept "in sync", but there are no explicit constraints in either of them to enforce that. So, we can end up `linkml` version 1.9.5 coupled with `linkml-runtime` version 1.10.0. That combination is perfectly valid according to the various version constraints (there is _no_ formal constraint that `linkml` 1.9.5 must use `linkml-runtime` < 1.10.0 -- and unless I missed something there is also no warning in the documentation that users should take care of always using the same version of these two packages), but it is broken in practice, because of some breaking changes that happened in `linkml-runtime` 1.10.0 (removal of a `Format.JSON` enumeration value). Sigh. Not only did the LinkML developers remove a public symbol in a minor release, they did so without so much as a warning in the release notes. LinkML, I obscenity in the milk of thy callous disregard for semantic versioning. So in this commit, we explicitly declare that we require version 1.10.0 at least of _both_ `linkml` and `linkml-runtime`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Some of the Python dependencies we need to run workflows are themselves dependent on LinkML, which means they cause the installation of both
linkmland its dependencylinkml-runtime.It seems that these two packages must always be kept "in sync", but there are no explicit constraints in either of them to enforce that.
So, we can end up
linkmlversion 1.9.5 coupled withlinkml-runtimeversion 1.10.0. That combination is perfectly valid according to the various version constraints (there is no formal constraint thatlinkml1.9.5 must uselinkml-runtime< 1.10.0 -- and unless I missed something there is also no warning in the documentation that users should take care of always using the same version of these two packages), but it is broken in practice, because of some breaking changes that happened inlinkml-runtime1.10.0 (removal of aFormat.JSONenumeration value).Sigh. Not only did the LinkML developers remove a public symbol in a minor release, they did so without so much as a warning in the release notes. LinkML, I obscenity in the milk of thy callous disregard for semantic versioning.
So in this commit, we explicitly declare that we require version 1.10.0 at least of both
linkmlandlinkml-runtime.