Docker.Official.Image icon indicating copy to clipboard operation
Docker.Official.Image copied to clipboard

Improve release process

Open geekgonecrazy opened this issue 6 years ago • 21 comments

@tianon @pierreozoux

I'm not sure who to ping here. Pretty much from the start this has been a community maintained repo. Because of that its been a bit hands off and just let things run.

We'd like to get a bit more hands on and assure this image gets the same sort of quality as the one in our own repo.

So we'd really like to understand how exactly the pieces here fit together and how we can improve. I don't know if here is the best way or if via email.

If email is better please shoot me an email aaron.ogle [@] our company domain :)

geekgonecrazy avatar Nov 30 '18 20:11 geekgonecrazy

@geekgonecrazy the best way would be to merge both repos I guess.

pierreozoux avatar Dec 05 '18 10:12 pierreozoux

cc: @sampaiodiego

Yes this is exactly what i'm wondering if could be possible.

Do you have any details of how the build is triggered? Would be amazing if we could tie directly into our release process.

geekgonecrazy avatar Dec 05 '18 17:12 geekgonecrazy

Hey, sorry for missing this earlier -- I think https://github.com/docker-library/official-images is the best place to get back up to speed on what the Official Images process is. The only additional bit above what's documented there that this repository has is @docker-library-bot running ./update.sh periodically and auto-committing the result (assuming it builds successfully afterwards) and me periodically including those bumps in my own PRs to https://github.com/docker-library/official-images for the images we maintain.

We'd certainly appreciate this repository/image getting more attention and active maintenance than it current does. :+1: :tada:

(cc @yosifkit for visibility)

tianon avatar Dec 05 '18 22:12 tianon

I would like to pay your attention that building of new releases in official version of Rocket chat are still not working. You can check this yourself: https://hub.docker.com/_/rocket-chat?tab=tags Herewith you can see that versions in github are changing, while compilations are not running. Could you pls fix it?

alexxkn avatar Dec 27 '18 18:12 alexxkn

If i'm understanding this correctly.

  1. In our CI check out: https://github.com/docker-library/official-images
  2. Modify our file like done here: https://github.com/RocketChat/Docker.Official.Image/blob/master/generate-stackbrew-library.sh additionally adding:
Directory: .docker/official
  1. Then push to a fork
  2. Open a PR and mention us so we can make sure the build succeeds

@sampaiodiego that sound accurate? We already do this for our snaps

geekgonecrazy avatar Jan 18 '19 23:01 geekgonecrazy

@geekgonecrazy so the idea is to remove this repo and use only our main one? to do so we would then move all files from here to a folder .docker/official there, which will then contain the Dockerfile and the README.md as the content for https://hub.docker.com/_/rocketchat/

is that the plan? I thought we actually need a new repo to host the official image.

sampaiodiego avatar Jan 19 '19 01:01 sampaiodiego

It doesn't have to be a separate repo, but if you put it in your main repo and couple it tightly with your main release process then it usually becomes harder to make non-release-related changes (script fixes/updates, pecl updates, etc) between releases of the main product.

tianon avatar Jan 19 '19 01:01 tianon

(Also, in our review, we review the whole "context" of the image, so please don't put it at the root of the main source repo and use COPY . /..., since we really don't want to be reviewing changes to Rocket.Chat's internal code -- we're focused on the Dockerization :sweat_smile:)

tianon avatar Jan 19 '19 01:01 tianon

@geekgonecrazy so the idea is to remove this repo and use only our main one? to do so we would then move all files from here to a folder .docker/official there, which will then contain the Dockerfile and the README.md as the content for https://hub.docker.com/_/rocketchat/ is that the plan? I thought we actually need a new repo to host the official image.

I'm not sure... 🤔 I didn't realize the requirement of only depending on other official images. Maybe instead we just bump this repo from our CI instead. Since we have no choice but to maintain 2 different docker images 😶

geekgonecrazy avatar Jan 21 '19 18:01 geekgonecrazy

Maybe instead we just bump this repo from our CI instead

we might need to do this.. for some reason @docker-library-bot didn't run the past two releases. @tianon do you happen to know why? tia

sampaiodiego avatar Nov 18 '19 17:11 sampaiodiego

It didn't run because the access for @docker-library-bot to push was revoked so we removed the job: https://github.com/docker-library/oi-janky-groovy/commit/c1d73ec8bfb6a2a7b1f053df32fc3d340506b0b5

yosifkit avatar Nov 18 '19 20:11 yosifkit

@yosifkit I've added @docker-library-bot back with write permissions. Can you add the job back?

rodrigok avatar Nov 21 '19 18:11 rodrigok

There are no new image tags on Docker hub since the 2.4.1 release. Any update on this issue?

northway avatar Feb 11 '20 08:02 northway

sorry @northway .. this is a two step process: update this repo and open a PR to official docker images.. but I missed the second part.. it is done now https://github.com/docker-library/official-images/pull/7452 just need to wait for them to merge.

we still need to automate this process though

sampaiodiego avatar Feb 11 '20 18:02 sampaiodiego

@yosifkit I've added @docker-library-bot back with write permissions. Can you add the job back?

Doh sorry, I think this failed due to the same reason it got kicked off in the first place -- it's a bot, so 2FA is a bit complicated (so it can't actually accept the invite).

tianon avatar Feb 11 '20 20:02 tianon

@tianon any idea on how to handle this?

rodrigok avatar Feb 11 '20 21:02 rodrigok

Using @docker-library-bot, I'm not sure, but you should be able to accomplish something very similar using GitHub Actions or Travis -- it just runs ./update.sh followed by the official images tests and if successful, commits and pushes the result.

tianon avatar Feb 12 '20 22:02 tianon

In this case, I think making sure docker build is successful after ./update.sh is probably plenty to be sure the new version is available and ~working.

tianon avatar Feb 12 '20 22:02 tianon

Can you trigger the release again? I would like to upgrade our instances to 3.X...

northway avatar Feb 26 '20 10:02 northway

Yeah, If you merge #104 before, the image would be more rock(et)solid 😜

snoopotic avatar Feb 26 '20 10:02 snoopotic

I'm already on the verge of making my own CD pipeline.

northway avatar Feb 26 '20 11:02 northway