如何设置 eslint 以检查 master 分支和 HEAD 之间的所有内容
How to setup eslint to lint everything between master branch and HEAD
我正在尝试设置 GitHub 操作来检查 lint 错误并在检测到任何错误/警告时使拉取请求失败。
目前我的逻辑在本地工作,但是当我尝试通过 GitHub 操作 运行 它时,我收到一个错误:
fatal: ambiguous argument 'origin/master...HEAD': unknown revision or
path not in the working tree.
我认为这与 checkout@v2
没有获取正确数量的数据有关,但我无法理解是什么
代码示例
name: Initiate PR
on: push
jobs:
STEPS:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 100
- name: Set up Node.js
uses: actions/setup-node@v1
with:
node-version: 14.18.0
- name: Install Node.js dependencies
run: npm ci --ignore-scripts
- name: lint-on-PR
shell: bash
run: |
npx eslint --max-warnings 0 $(git diff origin/master...HEAD --name-only --relative --diff-filter=MATR '***.js' '***.jsx' '***.ts' '***.tsx' | xargs)
您可能需要 checkout@v1
作为 in this example 来获取所有文件。
- uses: actions/checkout@v1
...
- run: git diff ${{ github.event.pull_request.base.sha }} ${{ github.sha }}
v2 默认只获取触发操作的 sha。
我正在尝试设置 GitHub 操作来检查 lint 错误并在检测到任何错误/警告时使拉取请求失败。
目前我的逻辑在本地工作,但是当我尝试通过 GitHub 操作 运行 它时,我收到一个错误:
fatal: ambiguous argument 'origin/master...HEAD': unknown revision or path not in the working tree.
我认为这与 checkout@v2
没有获取正确数量的数据有关,但我无法理解是什么
代码示例
name: Initiate PR
on: push
jobs:
STEPS:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 100
- name: Set up Node.js
uses: actions/setup-node@v1
with:
node-version: 14.18.0
- name: Install Node.js dependencies
run: npm ci --ignore-scripts
- name: lint-on-PR
shell: bash
run: |
npx eslint --max-warnings 0 $(git diff origin/master...HEAD --name-only --relative --diff-filter=MATR '***.js' '***.jsx' '***.ts' '***.tsx' | xargs)
您可能需要 checkout@v1
作为 in this example 来获取所有文件。
- uses: actions/checkout@v1
...
- run: git diff ${{ github.event.pull_request.base.sha }} ${{ github.sha }}
v2 默认只获取触发操作的 sha。