(GitHub Actions) 将步骤分成两个连续的步骤

问题描述 投票:0回答:1

我想使用 GitHub Actions 发布 npm 包。到目前为止,我正在使用一个相当简单的脚本来做到这一点。现在我想将脚本的一个步骤分成两个连续的步骤。 这是我的工作流程/...yaml 文件的摘录:

    steps:
    # ...
    - name: Build
      run: |
        cd src
        npm install
        tsc

        # TODO split here

        npm set registry https://npm.pkg.github.com
        npm set //npm.pkg.github.com/:_authToken ${{ secrets.GITHUB_TOKEN }}
        npm publish
      env:
        CI: true

现在,当我尝试将这些步骤作为单独的步骤时,它们并行运行,这不是我希望的行为,因为第一步产生我在步骤 #2 中依赖的结果(创建 src/lib 目录)。 (我登录 npm 并发布此内容的那个)。

有人可以帮我解决这个问题吗?

github continuous-integration github-actions
1个回答
2
投票

正如上面@smac89所解释的,

steps
不能并行执行,只有
jobs
workflows
可以并行执行。

Github 官方文档分享了有关 Github Actions 结构的说明:

您的情况可能发生的是您创建了 2 个作业,而不是 2 个步骤。

分割步骤的语法应该是这样的:

jobs:
  my-job:
    runs-on: ubuntu-latest #for example
    steps:
    # ...
    - name: Build
      run: |
        cd src
        npm install
        tsc
      env:
        CI: true
   - name: Publish
     run: |
        npm set registry https://npm.pkg.github.com
        npm set //npm.pkg.github.com/:_authToken ${{ secrets.GITHUB_TOKEN }}
        npm publish
      env:
        CI: true
© www.soinside.com 2019 - 2024. All rights reserved.