如何在Github Actions中自主配置Rubocop,解决校验不通过问题
问题原因
- CI环境执行
bundle install时依赖被安装到了项目根目录下的vendor/bundle路径,Rubocop默认会递归扫描当前目录下所有.rubocop.yml配置文件,读取到了第三方gem内置的陈旧配置文件,和你项目本地的配置冲突才触发报错。 - 本地环境正常是因为你的依赖没有安装在项目根目录的
vendor路径下,Rubocop不会扫描到第三方配置。
解决步骤
- 修改项目根目录的
.rubocop.yml配置,添加目录排除规则,避免Rubocop读取第三方依赖的配置:
AllCops: NewCops: enable Exclude: - 'vendor/**/*' - 'tmp/**/*' - 'log/**/*'
- 调整Github Actions工作流中Rubocop的执行命令,显式指定使用项目根目录的配置文件,同时强制生效排除规则:
- name: Run rubocop run: | bundle exec rubocop --config .rubocop.yml --force-exclusion
内容的提问来源于stack exchange,提问作者Andrey Khataev
相关产品推荐
相关产品推荐

