我正在设置 Github 操作以使用 Spectral 对 OpenAPI 规范进行 lint。在 linting 之前,我想生成单个文件规范并提交它。
我已经建立了一个工作流程,它将首先构建然后 lint。但问题是,lint 没有考虑上一步中 Github 操作所做的提交。它总是对触发此操作的提交进行 lint。有什么方法可以对作为 Github 操作的一部分的提交进行 lint?
从上图中可以看出,Github 工作流并未针对 Github 操作所做的提交运行。
工作流文件:
name: Run Spectral
on:
- pull_request
jobs:
build:
name: Build Spec
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: npm install
- name: Build spec file
run: npm run build
- name: Commit build changes
uses: EndBug/add-and-commit@v7
with:
default_author: github_actions
message: 'Compiled spec file'
add: '_build/oas.yaml'
lint:
name: Lint
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Spectral Linting
uses: stoplightio/spectral-action@v0.7.3
with:
file_glob: '_build/oas.yaml'