J'ai une application Rails 5.2 qui utilise Devise. Tout fonctionne bien sur mon ordinateur mais lorsque j'essaie d'exécuter les tests dans CircleCI, j'obtiens cette erreur :
#!/bin/bash -eo pipefail
bundle exec rake db:create
rake aborted!
Devise.secret_key was not set. Please add the following to your Devise initializer:
config.secret_key = 'faa1201370967c22ce2136d7ad84e50705ed50395292b9fde9f76b04dae12bb9e25246418393d779cbae15b259bac0e3430d28ff24c166c08ece1cae2ac19531'
Vous pouvez le voir ici : https://circleci.com/gh/dashmantech/modulator/12
Le commentaire et le paramètre par défaut sur devise.rb
est :
# The secret key used by Devise. Devise uses this key to generate
# random tokens. Changing this key will render invalid all existing
# confirmation, reset password and unlock tokens in the database.
# Devise will use the `secret_key_base` as its `secret_key`
# by default. You can change it below and use your own secret key.
# config.secret_key = "53552bdcd8ec0bb6a83d984380ae1a81233f73cce6093441b097efe1b6bd893eec5da67f2fb3afa3b23242e1b1f089c56eb82621996946f8960d8d71f95602cf"
Il semble que Devise reprendrait la base de la clé secrète de Rails. J'ai défini SECRET_KEY_BASE
dans mes paramètres CircleCI (sur leur interface web) et il semble être correctement exporté :
Pourquoi est-ce que je reçois cette erreur ? Que me manque-t-il ? Quelle est la façon dont Rails-5.2 gère ce problème ? secret_key_base
pour les tests et la production ?
Le code source complet de mon application est ici : https://github.com/dashmantech/modulator (Je ne suis pas sûr de ce qui est pertinent pour cette question).