【问题标题】:(GitHub Actions) Split step into two consecutive ones(GitHub Actions) 将步骤分成两个连续的步骤
【发布时间】:2020-05-12 23:51:21
【问题描述】:

我想使用 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 并发布此内容的地方)。

谁能帮我解开这个问题?

【问题讨论】:

  • 步骤不并行执行。您能否展示您为使它们并行运行所做的工作
  • @smac89 我很高兴你让我分享我的设置。我通过拆分步骤重新创建了以前的设置,它按预期工作。我不确定,我是如何得到的印象,它首先不起作用。谢谢

标签: github continuous-integration github-actions


【解决方案1】:

正如上面@smac89 解释的那样,steps 不能并行执行,只有jobsworkflows 可以。

official Github Documentation 分享了这个关于 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

【讨论】:

    猜你喜欢
    • 2020-01-11
    • 2020-11-28
    • 2021-05-02
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多