我想使用 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所解释的,
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