我正在使用新的GitHub动作,以下工作流程的想法是在打开或同步pr时运行,它应该首先签出并安装依赖项,然后再运行少量的yarn脚本
name: PR to Master
on:
pull_request:
branches:
- master
jobs:
# Synchronize or Opened
synchronized_or_opened:
name: Synchronize or Opened
runs-on: ubuntu-latest
steps:
- uses: actions/bin/filter@master
with:
args: action 'opened|synchronize'
# Add Labels
add_labels:
name: Add Labels
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
needs: synchronized_or_opened
# Checkout
checkout:
name: Checkout
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
needs: synchronized_or_opened
# Install Dependencies
install_dependencies:
name: Install Dependencies
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- run: yarn dep:install-npm
needs: checkout
# Typecheck
typecheck:
name: Typecheck
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- run: yarn typecheck
needs: install_dependencies
# Prettier
prettier:
name: Prettier
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- run: yarn prettier
needs: install_dependencies
# ESLint
eslint:
name: ESlint
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- run: yarn eslint
needs: install_dependencies
# Danger
danger:
name: Danger
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- run: yarn danger
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
needs: install_dependencies
目前它已成功进入结帐阶段,但是一旦安装作业运行,我将收到以下错误消息
错误无法在以下位置找到package.json文件 “ / home / runner / work / myRepo / myRepo”
通过此签出判断是失败还是我在错误的文件夹中?
答案 0 :(得分:2)
如Workflow syntax docs中所述:
每个作业都在运行时指定的虚拟环境的新实例中运行。
根据我在这里看到的内容,您正在执行与其他人完全独立的结帐步骤。这样做不会以任何方式影响其他作业。实际上应该在执行npm CLI命令的那些作业中 内定义它。
以下是您的其中一项工作的样子的示例:
jobs:
# (...) Other jobs
# Install Dependencies
install_dependencies:
name: Install Dependencies
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@master
- run: yarn dep:install-npm
needs: checkout
# (...) Other jobs
GitHub starter workflow templates中有一些常规示例。