Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration rails 7 #375

Merged
merged 46 commits into from Mar 8, 2024
Merged

Migration rails 7 #375

merged 46 commits into from Mar 8, 2024

Conversation

echarp
Copy link
Member

@echarp echarp commented Sep 17, 2023

Travail en cours pour la mise à jour des dépendances.

Dépendant de la gemme rails-sass-images qui n'est plus développée
Ajout de "optional: true" pour les modèles qui permettent une valeur "null".

Document du comportement belongs_to:
https://sipsandbits.com/2015/09/21/whats-new-in-rails-5/#belongs_toisrequiredbydefault
Il y avait deux classes pour dynamiquement chercher des templates entre
les espaces de rédaction et modération, après tests et recherches il
semble que ça ne soit pas (ou plus?) nécessaire.
Tests et validations nécessaires, mais en pause car migration vers 7 prévue
@echarp
Copy link
Member Author

echarp commented Sep 19, 2023

Avant de merger cette MR, deux autre gemmes ont besoin d'être mises à jour.

Notamment car elles bloquent la version de rails utilisable.

@echarp echarp changed the title Migration rails 6 Migration rails 7 Sep 19, 2023
@echarp echarp marked this pull request as ready for review September 20, 2023 19:51
Copy link
Member

@Trim Trim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai regardé les changements sur le code (je n'ai pas eu le temps de regarder le code des tests) et ça à l'aire très bien, merci !

Je n'ai pas non plus eu le temps de tester sur mon poste. En fait, j'ai essayé de mettre à jour les Dockerfile pour utiliser Debian Bookworm (qui a rails 7 et ruby 3) et j'ai vu que le board LinuxFr n'est pas capable de démarrer avec Ruby 3:

linuxfr-board_1  | /usr/local/bundle/gems/goliath-1.0.6/lib/goliath/server.rb:135:in `load_config': undefined method `exists?' for File:Class (NoMethodError)
linuxfr-board_1  |
linuxfr-board_1  |       return unless File.exists?(file)
linuxfr-board_1  |                         ^^^^^^^^
linuxfr-board_1  | Did you mean?  exist?
linuxfr-board_1  |      from /usr/local/bundle/gems/goliath-1.0.6/lib/goliath/server.rb:82:in  `block in start'
linuxfr-board_1  |      from /usr/local/bundle/gems/em-synchrony-1.0.6/lib/em-synchrony.rb:39:in `block (2 levels) in synchrony'

Il faudra que l'on fasse aussi sa migration à Ruby 3 si jamais.

Je n'arrive pas à continuer ce soir, mais je vais essayer de mettre en place l'environnement sur mon poste cette semaine pour tester le déploiement en local.

(en tous cas du code testé d'après la gemme simplecov...)
Il pourrait y avoir d'autres cas, cela vient de la simplification de
recherche des chemins de partiaux, suite (ou grâce) à la migration à rails 7
Il manque les contrôleurs d'API dans cette couverture...
@echarp
Copy link
Member Author

echarp commented Oct 2, 2023

Il faudra que l'on fasse aussi sa migration à Ruby 3 si jamais.

Marrant, j'arrive à lancer la gemme de board sur mon poste, avec ruby 3 seulement d'installé.

Et ça semble fonctionner correctement, y compris en testant avec deux navigateurs pour valider la mise à jour en temps réel.

@Trim
Copy link
Member

Trim commented Oct 9, 2023

J'ai regardé les changements sur le code (je n'ai pas eu le temps de regarder le code des tests) et ça à l'aire très bien, merci !

Je n'ai pas non plus eu le temps de tester sur mon poste. En fait, j'ai essayé de mettre à jour les Dockerfile pour utiliser Debian Bookworm (qui a rails 7 et ruby 3) et j'ai vu que le board LinuxFr n'est pas capable de démarrer avec Ruby 3:

linuxfr-board_1  | /usr/local/bundle/gems/goliath-1.0.6/lib/goliath/server.rb:135:in `load_config': undefined method `exists?' for File:Class (NoMethodError)
linuxfr-board_1  |
linuxfr-board_1  |       return unless File.exists?(file)
linuxfr-board_1  |                         ^^^^^^^^
linuxfr-board_1  | Did you mean?  exist?
linuxfr-board_1  |      from /usr/local/bundle/gems/goliath-1.0.6/lib/goliath/server.rb:82:in  `block in start'
linuxfr-board_1  |      from /usr/local/bundle/gems/em-synchrony-1.0.6/lib/em-synchrony.rb:39:in `block (2 levels) in synchrony'

Il faudra que l'on fasse aussi sa migration à Ruby 3 si jamais.

Je n'arrive pas à continuer ce soir, mais je vais essayer de mettre en place l'environnement sur mon poste cette semaine pour tester le déploiement en local.

Avec la nouvelle version 1.0.7 de Goliath qui a été publiée dimanche dernier, le board fonctionne sans avoir eu besoin de faire de migration 👍


Edit: bon j'ai parlé trop vite, j'ai du avoir un problème de cache avec Docker.

J'ai essayé à nouveau et j'ai dû utiliser la branche ruby3 du projet board pour réussir à démarrer tous les Docker en Bookworm.

J'ai préparé le commit ici pour mettre à jour les Dockerfiles: 270a8d0

et ne devrait dont pas être référencée dans sa configuration
Les icônes feather sont maintenant gérés dans `vendor/assets/images`
Suppression de
* capistrano
* mo (obsolète, plutôt utiliser rubocop)
* pry-rails (la console irb normale est au moins aussi bien maintenant)
* sushi
* capybara
* selenium
* gctools (outil utilisé en production? Ne cible pas seulement ruby 2.1?)
@Trim Trim changed the base branch from master to rails7 March 8, 2024 14:01
@Trim Trim merged commit 2a1b66f into linuxfrorg:rails7 Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants