在 Github 中有什么方法可以检查 Pull Request 审查的脚本编码吗?

Is there any way to check the encoding of scripts for Pull Request review in Github?

在我工作的地方,数据库脚本需要用 ANSI 编码才能工作,我们经常错过一个用 UTF-8 编码的文件,这会产生很多问题,所以为了避免这种情况,每个文件都是由其他人手动检查。

问题:在 github 上批准拉取请求之前,有什么方法可以自动检查(或转换)脚本的编码?

Git集线器操作

GitHub 有一个名为 Actions 的功能,如果在您的存储库中可用,您可以利用该功能。这允许你做一个服务器端挂钩来做各种检查。您可以添加构建挂钩来检查脚本的编码。

https://github.com/2DegreesInvesting/resources/issues/53 有一个这样的例子(已编辑以希望适合您的用例):

name: CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest
    
    steps:
      - name: run the checkout action
        uses: actions/checkout@v1
      - name: list the directory
        run: echo '! find $GITHUB_WORKSPACE -type f -exec file --mime {} \; | grep -v "charset=binary$" | grep -v "charset=us-ascii$"' | bash

Git 挂钩

另一种帮助解决此问题的方法是告诉开发人员安装客户端 commit/push 钩子来做同样的事情。您可以在这里阅读更多关于它们的信息:https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

构建流程集成

最后,如果您的公司有构建管道,您可以添加自定义构建步骤来检测这一点。此检查将在更改被推送之后进行,但希望在它到达生产之前捕获错误。