Ho avuto un problema in cui il passaggio appena aggiunto “Check SKIP_DB_AND_REDIS bootability” è fallito per uno dei miei plugin.
Il boot di SKIP_DB_AND_REDIS non è riuscito. Assicurati che il database non venga accessibile durante il processo di avvio di Rails.
Per riprodurre localmente, esegui
SKIP_DB_AND_REDIS=1 RAILS_DB='nonexistent' bin/rails runner "puts 'booted successfully'".
Ho provato, ma non sono riuscito a riprodurre il problema in locale. È semplicemente passato.
Ho potuto utilizzare lo stack trace del passaggio fallito dell’azione GitHub per individuare esattamente quale codice fosse il colpevole.
Il codice problematico
In uno dei miei controller ho dichiarato una costante che recuperava l’elenco degli attributi di un active record:
REWARD_FIELDS = Reward.attribute_names.excluding("id", "created_at", "updated_at")
Cosa che, a quanto pare, non si dovrebbe fare.
Ma sarebbe stato meglio se avessi potuto simulare questo controllo in locale, così da non dover procedere per tentativi ed errori tramite GitHub Actions. Deve esserci quindi qualcosa di più rispetto all’esecuzione di:
SKIP_DB_AND_REDIS=1 RAILS_DB='nonexistent' bin/rails runner "puts 'booted successfully'"