testcontainers / testcontainers/testcontainers-python

Discussion: Officially supported version ranges

未关闭
#373 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

👀 requires attention 🔀 requires triage
主要语言
Python
星标
2.3k
派生
386
平均合并
4 小时 40 分钟
30 天内合并 PR
1

描述

I think we should have a larger discussion in this repo on what we actually want to support in custom container setups, as making the implementation support all versions since the beginning of time will lead to a lot of nasty workarounds while only catering to a (presumably) small portion of people that want to use legacy versions.

There has already been some discussion happening here and here.

We need to ask ourselves the following question, and probably a lot more:

  • Should we support the latest version?
  • Should we only support officially supported versions of the service?
  • What repositories should we support? What if there are changes between the images in the different repositories?
  • If there is no officially supported version range, what do we do?

Having support for an explicit version range would also require us to cap the support on the latest release, and check / update the version range on every new release (otherwise we cannot know if the new versions are actually compatible or not, and it would be worse to say incorrectly that we support something than not supporting it).

My personal take on this is that in order to reduce the amount of extra / duplicated / workarounds in code to support multiple version ranges, we should be quite restrictive on what versions we do officially support. E.g. for ElasticSearch we could support the official versions ^8.8.1+ and ^7.17.10 (found here), but nothing more. For images like Keycloak we should be even more restrictive in our officially supported version ranges, as it is very lacking in documentation on what actually is maintained, lots of breaking changes between versions etc., and only support the latest major version (v22.x as of writing)

Supporting latest is a bad idea, as we can see from the tests as bad images are published quite frequently before getting a quick/hotfix immediately after. At the very least, no tests should use latest for testing, as it destroys the reproducibility.

What do you guys think?

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先查看 pull request #369 和 #357 中的讨论,然后盘点当前仓库测试所覆盖的服务镜像和版本范围。当项目拥有一项经商定并记录在案的支持政策、可复现的非最新测试版本,以及一个用于在新版本发布时检查支持情况的明确流程时,这项工作就完成了。

由索引模型根据 Issue 内容生成。

评估

技术栈
docker, python
领域
devops, testing
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
20/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。