空文件夹中的新 GitHub 操作 运行

New GitHub actions run in empty folders

我正在使用新的 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

目前它成功进入结帐阶段,但是一旦安装作业 运行 我收到以下错误

error Couldn't find a package.json file in "/home/runner/work/myRepo/myRepo"

根据这次结帐判断是失败还是我在错误的文件夹中?

Workflow syntax docs所述:

Each job runs in a fresh instance of the virtual environment specified by runs-on.

据我所见,您在与其他人完全独立的工作中执行结帐步骤。这样做不会以任何方式影响其他工作。它实际上应该定义在 inside 那些执行 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中有一些通用示例。