GitHub Actions 失败:“检查 SKIP_DB_AND_REDIS 启动性”步骤

我遇到了一个问题:最近添加的“检查 SKIP_DB_AND_REDIS 启动能力”步骤在我的一个插件中失败了。

SKIP_DB_AND_REDIS 启动失败。请确保在 Rails 启动过程中未访问数据库。

要在本地复现此问题,请运行 `SKIP_DB_AND_REDIS=1 RAILS_DB=‘nonexistent’ bin/rails runner “puts ‘booted successfully’”`。

我尝试了该命令,但无法在本地复现该问题,它直接通过了。

我可以利用失败的 GitHub Actions 步骤中的堆栈跟踪来定位导致问题的代码。

有问题的代码

在我的一个控制器中,我声明了一个常量,用于获取某个 Active Record 的属性列表:

REWARD_FIELDS =  Reward.attribute_names.excluding("id", "created_at", "updated_at")

显然,您不应该这样做。

不过,如果我能先在本地模拟这一检查就好了,这样就不必通过 GitHub Actions 进行反复试错。因此,除了执行以下命令外,肯定还有其他方法:

SKIP_DB_AND_REDIS=1 RAILS_DB='nonexistent' bin/rails runner "puts 'booted successfully'"