docker-android-sdk icon indicating copy to clipboard operation
docker-android-sdk copied to clipboard

Please start tagging versions

Open beruic opened this issue 2 years ago • 5 comments

The current approach of release has one vulnerability: You cannot revert to an earlier version if something goes wrong.

A change log would be nice too.

beruic avatar Oct 21 '21 09:10 beruic

Sounds like a great idea, however this is not a simple thing to do. I would need to introduce a proper release management and start tagging specific versions. So far it seems there was no big need for that. Did you encounter any issues in the past which were not addressed here quickly? Are you maybe able to PR a concept for this?

mindrunner avatar Oct 26 '21 22:10 mindrunner

I may be able to later, but currently we are drowning in bugs.

My main issue is that it concerns me that something could potentially break our builds without any possibility of falling back to a known stable version. Furthermore our build servers cache is frequently full because the images seems to update more often than changes are committed to this repository.

beruic avatar Oct 27 '21 07:10 beruic

In relation to this: Why does https://hub.docker.com/r/runmymind/docker-android-sdk seem to be updated almost every day, despite no changes being made?

Changing the image every day means, our build system needs to download every day. Perhaps something can be done to make more layers, and reduce the download when something changes.

beruic avatar Oct 28 '21 09:10 beruic

In relation to this: Why does https://hub.docker.com/r/runmymind/docker-android-sdk seem to be updated almost every day, despite no changes being made?

Since the source sometimes does not change for Months, I am using regular builds to keep all dependencies up to date. This limits the probability of people using outdated software with security flaws. Daily builds, however, might be overkill for this project. I changed it to weekly now.

Furthermore, I added tags to images based on the git commits. If you want to stick for an older version you can do that now with: (e.g. ubuntu-standalone-5fe1f87b) where ubuntu-standalone is one of the four flavors and 5fe1f87b is the short form of the git commit you want to use.

Keep in mind, that the most recent commit will always be updated on a weekly base still.

I hope that lowers the pain.

mindrunner avatar Oct 30 '21 13:10 mindrunner

@mindrunner We purge weekly, so that is just perfect.

I'm puzzling with whether it would be better to make it {flavour}_{datetime}_{commit hash}. This change will cause the following:

  • We can always see when an image was built
  • Building the same commit no longer overwrites the
  • Tags are easily ordered chronologically
  • Automatic deletion of tags can be done by both date and commit hash.

It can be done with either CI_PIPELINE_CREATED_AT or CI_JOB_STARTED_AT in GitLab CI.

However, I am not sure it is worth it, unless a good strategy for cleanup can be made.

beruic avatar Nov 11 '21 11:11 beruic

@beruic is that still a thing?

mindrunner avatar Dec 03 '22 19:12 mindrunner

@mindrunner I had to move projects internally. i'll hand this over to my successor @Teo27

beruic avatar Feb 21 '23 16:02 beruic

Planning to migrate to github actions for the docker build. @Teo20, can you please define your requirements for this issue (if different from above messages)

mindrunner avatar Feb 21 '23 17:02 mindrunner

I believe the {flavour}_{datetime}_{commit hash} suggestion would benefit this project greatly due to the aforementioned reasons.

Thankfully, we haven't had any problems with the images. So our processes and requirements haven't changed.

Teo27 avatar Feb 22 '23 09:02 Teo27

There is a slight new tag structure now. I also updated the readme, but it is not complete yet. Just for reference here. Have a look at https://hub.docker.com/repository/docker/runmymind/docker-android-sdk/tags?page=1&ordering=last_updated for all available tags.

You can pin to a specific commit id (ubuntu-standalone-sha-943587d)

Alternatively you can pin to a nightly build via date (ubuntu-standalone-20230509)

Would that fit your needs?

Since the source sometimes does not change for Months, I am using regular builds to keep all dependencies up to date. This limits the probability of people using outdated software with security flaws. Daily builds, however, might be overkill for this project. I changed it to weekly now.

I would like go back to nightly builds for now. Would that be an issue for you?

mindrunner avatar May 09 '23 17:05 mindrunner

That works perfectly fine for us. And there should be no issues regarding the nightly builds.

Teo27 avatar May 10 '23 06:05 Teo27