Page MenuHomePhabricator

Start tagging images of Query Service UI
Closed, ResolvedPublic

Description

Motivation
We want to avoid broken installations using the wikibase docker images due to changes to wikidata-query-gui (e.g T227031: Update wikibase-docker configuration for wdqs-frontend).

Problem
Currently, we are pulling wikidata-query-gui master as part of building latest and legacy image of wdqs-frontend in our wikibase-docker bundle (check https://github.com/wmde/wikibase-docker/blob/master/wdqs-frontend/latest/Dockerfile#L7).

If wikidata-query-gui changes in any incompatible way with the current configuration we supply as part of building this image, as seen in T227031: Update wikibase-docker configuration for wdqs-frontend, then the resulting image might end up being broken.

Suggested Solution
On the first day of each month, or whenever a significant change is made, take the current "latest" and "legacy" images, and release it tagged as YYYY-MM using a specific commit hash in the Dockerfile instead of master.
This is not going to guarantee there are no broken images, but at least there will be a possible downgrade/upgrade path available for people using the image.

AC

  • There is an initial tag for November 2019 for both the latest and legacy images
  • There is a script which creates a new folder with appropriate Dockerfile in the github repository, named YYYY-MM for the month the script is being run.
  • Readme should be changed to contain a note that only 3 most recent monthly "versions" of Query Service UI code are built and updated.

Event Timeline

@LucasWerkmeister @Smalyshev how does releasing versions of https://github.com/wikimedia/wikidata-query-gui/ sound to you?

There are only two from 2016, but I guess we can release more often, now that we rely on it for shipping wikibase-docker images?

Currently we are pulling master https://github.com/wmde/wikibase-docker/blob/master/wdqs-frontend/latest/Dockerfile#L7

Let's pull specific commits instead of pulling master of wikidata-query-gui into latest, and tag them with a dynamic tag name (e.g month-year)

We either do it on a recurring basis (e.g monthly) or whenever we know about new features to be included in the images.

If we want to reference specific images in the docker-compose.yml file, we could already do that using the image hash.

@alaa_wmde having discussed the topic of the Query Service UI with developers today, we are not quite getting why the suggested approach would be to have a periodically tagged images/versions. We assume that the approach of introducing the release procedure to said component, i.e stop using the current state of master branch as the version to be shipped. We are certain you've considered that option, why it has been rejected is not clear though. Mind elaborating?

At any given point, the latest image might be broken.

As a new user downloading the latest image to use, it may be broken.
You do not have any imdage digest hash to ping your environment to.
Only the latest image is provided on https://hub.docker.com/r/wikibase/wdqs-frontend/tags
The current path here is message people poking around to figure out what is wrong / file a ticket.

There needs to be a 'released' tagged image that is verified by us as not broken and will not break that can be used as a starting point for users.
There also needs to be an upgrade path for versions of the software for users that is visible and easy to rollback through. As we don't release the query service UI we have to make that bit up.
As a user of the image I want to be able to start on "Jan2019" then test and deploy "Feb2019". If things break I want to easily be able to rollback to the "Jan2019" image. I do not want to be faffing around with looking at digest versions and saving them etc making sure not to loose the hash I was on.

WMDE-leszek set the point value for this task to 5.Aug 20 2019, 12:55 PM
WMDE-leszek moved this task from Needs Work to Ready to estimate on the Wikidata-Campsite board.
alaa_wmde renamed this task from Find a way to tag wdqs UI images to Start tagging images of Query Service UI.Sep 6 2019, 1:03 PM
Addshore removed the point value for this task.
Addshore moved this task from Ready to pick up to Ready to estimate on the Wikidata-Campsite board.

I have changed the ACs a bit and simplified the task too.
Going to move to ready to estimate again as this has changed.

Addshore raised the priority of this task from Medium to High.Nov 7 2019, 12:02 PM

Marking has high, has not having done this already has stung us a couple of times in the past weeks and wasted hours of time.

Addshore changed the task status from Open to Stalled.Nov 19 2019, 12:31 PM
Addshore lowered the priority of this task from High to Medium.

Despite really wanting this done, it might make more sense to wait for T238303: Define a release process for wdqs to get figured out.

Addshore claimed this task.

The wikibase-docker git repository will be going away.
The Ui is tagged and released in the new docker images

Please see the announcement for new images https://lists.wikimedia.org/hyperkitty/list/wikibaseug@lists.wikimedia.org/thread/WW4LZJINT3PIG3DOYKTXIWVP3WAKWXCT/
Along with docs https://www.mediawiki.org/wiki/Wikibase/Docker