Mise à jour / Reconstruction du conteneur Docker résulte en v3.5.2 au lieu de v2025.11.0

Nous avons mis à jour une installation Discourse existante comme nous l’avons fait plusieurs fois auparavant : après avoir récupéré la révision actuelle du dépôt discourse_docker, nous exécutons la commande suivante :

./launcher rebuild app

Elle s’exécute sans erreur et démarre également le nouveau conteneur - tout semble normal.

Mais en examinant la source HTML de l’application en cours d’exécution, nous constatons qu’elle prétend toujours être une v3.5.2 (la version d’avant la mise à jour) - au lieu de la v2025.11.0 attendue.

Notre procédure est la même que pour les mises à jour précédentes. La seule chose qui a manifestement changé est le schéma de numérotation des versions introduit avec la v2025.11.0 - peut-être est-ce lié à ce changement ?

J’ai vérifié si la chaîne de version avait été oubliée dans le code source de Discourse, mais ce n’est pas le cas, voir les deux commits :

D’après la sortie de la commande de reconstruction du launcher, j’ai remarqué qu’il effectue un git pull et voit/détecte les nouvelles branches :

(...)
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             release                 -> release
 * [new tag]             v2025.11.0              -> v2025.11.0
 * [new tag]             v2025.12.0-latest       -> v2025.12.0-latest
 * [new tag]             v3.5.2                  -> v3.5.2
 * [new tag]             v3.6.0.beta2            -> v3.6.0.beta2
Switched to a new branch 'stable'
I, [2025-12-03T12:27:14.785550 #1]  INFO -- : branch 'stable' set up to track 'origin/stable'.

Pourtant, il me semble qu’il choisit la mauvaise branche (c’est-à-dire pas la plus récente). La branche « stable » semble contenir la v3.5.2 (selon lib/version.rb dans cette branche).

J’ai relu l’ Annonce de la version 2025.11.0 et cela ressemble bien à une version stable, pas seulement à une version d’aperçu/d’adoption précoce. Le nouveau schéma de versionnage lié mentionne la branche latest, mais je suis maintenant encore moins sûr de ce à quoi m’attendre.

Est-ce que je manque quelque chose ? Ou pouvons-nous influencer la version qui est sélectionnée lors de la reconstruction ? Ou est-ce que cela ne fonctionne tout simplement pas comme prévu pour le moment et que l’outil de reconstruction doit être modifié ?

Je ne sais pas si cela est lié, mais sur Docker hub, l’étiquette « latest » est 3.5.2 - et triée numériquement par ordre décroissant, cela pourrait être l’étiquette la plus récente depuis très longtemps…

1 « J'aime »

v3.5.x est la version correcte pour la branche stable :+1:

2025.11.0 est une « publication » mensuelle, mais pas une publication « stable » / « esr ». (nous allons bientôt renommer stable en esr, dans le cadre de la nouvelle stratégie de versioning)

1 « J'aime »

C’est déroutant. Il serait plus logique de faire passer tout le monde au nouveau système de version en une seule fois, mais il n’est pas non plus logique que la version stable soit mise à jour lorsqu’il n’y a pas de nouvelle version stable. J’ai été confus, et j’aime penser que je fais attention à ces choses. Je me souviens maintenant d’une discussion avec Richard à ce sujet, mais je n’ai pas prêté assez attention pour comprendre.

:person_shrugging:

Merci @david - au moins, cela m’aide car je comprends maintenant que je n’ai rien fait de mal.

Il nous reste maintenant le problème de savoir comment décider ce qui est une « publication mensuelle » et ce qui est une « publication stable » ?

Nous récupérons le flux Atom de Github (pour être notifiés des nouvelles versions détectées) et 2025.11.0 et 3.5.2 apparaissent de la même manière (avec de nombreuses autres étiquettes).

Alors, comment / où pouvons-nous facilement découvrir l’intention de votre équipe pour une étiquette de version donnée ?

Je suis d’accord avec @pfaffman, c’est très déroutant pour le moment.

Oui, je vous entends – nous sommes dans une phase de transition entre deux systèmes de numérotation/nommage, donc les choses sont un peu difficiles à suivre.

Nous travaillons à la création d’une page qui répertorie toutes les versions actuellement prises en charge et leurs journaux des modifications. Quelque chose dans le style de ceci. J’espère que cela aidera avec des questions comme celles-ci.

À partir de janvier 2026, nous étiquetterons une version avec l’étiquette « esr ». Ce sera le remplacement de la cadence semestrielle de la version « stable » actuelle.

Donc beta est devenu release (ce n’était jamais vraiment « beta », c’était juste un point de contrôle mensuel)

Et stable deviendra esr, mais cela n’est pas encore arrivé

Donc, si vous voulez une cadence semestrielle, vous devriez vous en tenir à stable pour l’instant, puis utiliser esr à partir de janvier.

Si vous voulez une cadence mensuelle, vous pouvez cibler l’étiquette release.