Skip to content
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

OMERO versions and describing dependencies in a release package file #103

Open
manics opened this issue Nov 20, 2019 · 6 comments
Open

OMERO versions and describing dependencies in a release package file #103

manics opened this issue Nov 20, 2019 · 6 comments

Comments

@manics
Copy link
Member

manics commented Nov 20, 2019

See:


From @joshmoore ome/ansible-role-omero-server#41 (comment)

Versions and their sources that I can think of:

  • bundle: etc/omero.properties
  • omero-py: omero_version.py
  • omero-web: omeroweb/version.py
  • omero-dropbox: (not yet defined)
  • each plugin: (not yet standardized)
  • jars: each manifest

From @joshmoore ome/ansible-role-omero-web#27 (comment)

Another option would be a Pipfile-like approach where a requirements-in.txt lists the unversioned files, and then the output of pip freeze records exact tested versions. (i.e. basically the same but outside of the setup.py file)


We could have an omero-release.json artifact which describes all recommended dependencies (perhaps even including OMERO-server.zip?). The general idea is to have a file that describes all suggested production dependencies separate from any single release artifact.

Note this is in YAML format because it's easier to type and read but the real file would be JSON.

# This is some sort of package version, so dependencies can be bumped
# without a new OMERO.server release
version: 6.0.0-1
server:
  version: 5.6.0-m1
  OMERO.server: https://downloads.openmicroscopy.org/omero/5.6.0-m1/artifacts/OMERO.server-5.6.0-m1-ice36-b125.zip
  python-requirements:
    omero-py: 5.6.dev4
    omero-dropbox: 5.6.dev1
    jinja2: 1.2.3
    numpy: 1.2.3
    pillow: 1.2.3
    tables: 1.2.3
web:
  version: 5.6.dev4-1
  python-requirements:
    omero-web: 5.6.dev4
    omero-py: 5.6.dev4
    redis: 1.2.3

The advantage of a dict instead of the name==version from requirements.txt is it should be easier to parse and override in Ansible and other tools, e.g. by merging the web.python-requirements dictionary with a variable omero_web_python_requirements_override (needs to verify this works).

@manics
Copy link
Member Author

manics commented Nov 20, 2019

This file can be placed at a well known location e.g. https://downloads.openmicroscopy.org/omero/{latest|6|6.0|...}/omero-release.json, avoiding the need to parse redirects to obtain the latest version number (https://github.com/openmicroscopy/management_tools/pull/1036#issuecomment-510168596)

@manics
Copy link
Member Author

manics commented Jan 13, 2020

Another use-case: OMERO.web links to an appropriate Insight version based on its version. This is now broken due to the decoupling of OMERO.server, OMERO.web and OMERO.insight versions.

joshmoore added a commit to joshmoore/omero-web that referenced this issue Jan 13, 2020
The 5.6.0 version is broken for non-dev version strings.
This should handle 5.6.0, 5.6.dev1, and 5.6.0.dev1 style
version strings. Ultimately, this method should either be
refactored out to a util method so we can write unit tests
or removed in favor of a more complete solution a la
ome/design#103
@joshmoore
Copy link
Member

@manics additionally realized that the omero-web configuration properties are only exposed as part of the final docs, meaning a doc re-release may be required after an omero-web release.

@joshmoore
Copy link
Member

see discussion under ome/omero-documentation#2123 (comment) on possible using an omero-server package for handling part of this.

@imagesc-bot
Copy link

This issue has been mentioned on Image.sc Forum. There might be relevant details there:

https://forum.image.sc/t/omero-release-versions-and-strategy/38336/5

@manics
Copy link
Member Author

manics commented Sep 22, 2020

See ome/omero-cli-server#3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants