ome / omero-web

Django-based OMERO.web client
https://www.openmicroscopy.org/omero
17 stars 31 forks source link

Create release #597

Closed jburel closed 1 week ago

jburel commented 1 week ago

This PR adds an action that will create a release when a tag is pushed This will allow to check for upgrade in QA.

sbesson commented 1 week ago

This will allow to check for upgrade in QA.

What's the relationship between a GitHub release and OME QA?

jburel commented 1 week ago

The "hit" endpoint checks if an upgrade is required. This only works for OMERO.server I have adjusted the code so it also works for omero-web, insight For that I checked what is the latest version available from GitHub using https://github.com/ome/omero-web/releases/latest

sbesson commented 1 week ago

Thanks, you might be able to use the REST API directly as in https://api.github.com/repos/ome/omero-web/releases/latest

I'll leave @knabar to evaluate as he's going to be primarily involved here but I am not convinced that adding yet another GitHub workflow is justified here. Instead we could just update the release process and manually create a release after pushing the tag, this takes a few clicks and <30s using the current UI. Another potential caveat of the automated workflow is that we might not necessarily want to create GitHub releases for every tag and notably for release candidates if this API is going to be consumed by the OME upgrade check logic.

jburel commented 1 week ago

openmicroscopy and insight create a release. That's why I picked that approach so I had the same piece of code to find the information but if we don't want to create a release I will have to modify the code again i.e.

    r = requests.get(url)
    ver = regex.match(r.url).group(1)

If we want it to be manual, that's fine but from experience it tends to be forgotten Also if we do not want to create on every tag, that can easily be added to the action

jburel commented 1 week ago

The url https://api.github.com/repos/ome/omero-web/releases/latest only works because I manually created a release For example https://api.github.com/repos/ome/omero-py/releases/latest will not be helpful

jburel commented 1 week ago

I have now modified the code to use the REST API i.e. https://api.github.com/repos/ome/omero-web/tags I will delete the release that I created manually