J’ai rencontré un problème où l’étape récemment ajoutée « Vérifier la capacité de démarrage SKIP_DB_AND_REDIS » a échoué pour l’un de mes plugins.
Le démarrage avec SKIP_DB_AND_REDIS a échoué. Assurez-vous que la base de données n’est pas consultée pendant le processus de démarrage de Rails.
Pour reproduire localement, exécutez `SKIP_DB_AND_REDIS=1 RAILS_DB=‘nonexistent’ bin/rails runner “puts ‘booted successfully’”`.
J’ai essayé, mais je n’ai pas pu reproduire le problème localement. Cela a simplement réussi.
J’ai pu utiliser la trace de pile de l’étape d’action GitHub ayant échoué pour identifier précisément le code en cause.
Le code fautif
Dans l’un de mes contrôleurs, j’ai déclaré une constante qui récupérait la liste des attributs d’un enregistrement actif :
REWARD_FIELDS = Reward.attribute_names.excluding("id", "created_at", "updated_at")
Ce qu’il ne faut apparemment pas faire.
Mais cela aurait été plus agréable si j’avais pu simuler cette vérification localement, afin de ne pas avoir à procéder par essais et erreurs via les actions GitHub. Il doit donc y avoir autre chose que l’exécution de :
SKIP_DB_AND_REDIS=1 RAILS_DB='nonexistent' bin/rails runner "puts 'booted successfully'"