✨⚗️ Add additional docker image tag to simcore github actions (⚠️ DEVOPS) #4548
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.
What do these changes do?
Currently, we push two docker image tags to each docker image (identified by its digest) that we upload to dockerhub. One is "short" and one is "verbose" (including built date and git sha), like so:
This is equivalent for
staging
andproduction
. For master, this works fine with respect to the osparc-deployment-agent. We watch (read: poll / querry) for new docker images corresponding to the tagmaster-github-latest
, and we if we find one, we roll it out.We do the same for staging and production, but here this approach is not perfect. Ideally, we would want to roll out not the
latest
staging or release docker images, but the ones corresponding to the precise git tag that we are rolling out (e.g.staging_Sundae1
orv1.56.0
). The deployment-agent has the information about which staging/production he is currently rolling out, given as the git tag of the github/gitlab repositories. In the past, we had issues during releases when docker image tags (likerelease-github-latest
) were generated some minutes after the corresponding git-tag in osparc-simcore, etc.This PR brings a third naming convention to the docker image tags, which corresponds exactly to the current (pre-)release name. For master, no third docker image tag will be added, all will stay the same. For staging, this PR would make github actions create the following docker image tags on dockerhub:
The same would be the case for production.
In a next step, the deployment agent can be adjusted to utilize these specific docker image tags on dockerhub. This will mitigate some issues we have seen during simcore-releases in the past.
BONUS:
Related issue/s
I guess there are some, didnt go through the hazzle of compiling them here :(
How to test
Merge it and pray.
DevOps Checklist
To be checked once this is merged: