testcontainers / testcontainers/testcontainers-python
Discussion: Officially supported version ranges
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 2.3k
- Forks
- 386
- Merge moyen
- 4 h 40 min
- PR mergées (30 j)
- 1
Description
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?
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par examiner les discussions dans les pull requests #369 et #357, puis dressez l’inventaire des images de service et des plages de versions actuellement couvertes par les tests du dépôt. Le travail est terminé lorsque le projet dispose d’une politique de support convenue et documentée, de versions de test reproductibles qui ne sont pas les plus récentes, ainsi que d’un processus défini pour vérifier le support des nouvelles versions.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker, python
- Domaine
- devops, testing
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100