在 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
构建流程集成
最后,如果您的公司有构建管道,您可以添加自定义构建步骤来检测这一点。此检查将在更改被推送之后进行,但希望在它到达生产之前捕获错误。
在我工作的地方,数据库脚本需要用 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
构建流程集成
最后,如果您的公司有构建管道,您可以添加自定义构建步骤来检测这一点。此检查将在更改被推送之后进行,但希望在它到达生产之前捕获错误。