gpt4 book ai didi

github - 工作流之间对Github Action 的依赖性

转载 作者:行者123 更新时间:2023-12-02 07:39:51 24 4
gpt4 key购买 nike

我有一个带有两个工作流程的monorepo:

.github/workflows/test.yml

name: test

on: [push, pull_request]

jobs:
test-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: test packages
run: |
yarn install
yarn test
...


.github/workflows/deploy.yml

  deploy-packages:
runs-on: ubuntu-latest
needs: test-packages
steps:
- uses: actions/checkout@v1
- name: deploy packages
run: |
yarn deploy
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
...


这行不通,我无法在另一个工作流程中引用作业:

### ERRORED 19:13:07Z

- Your workflow file was invalid: The pipeline is not valid. The pipeline must contain at least one job with no dependencies.


有没有一种方法可以在工作流程之间创建依赖关系?

我想要的是在标签上运行 test.yml然后在 deploy.yml上运行,并且仅在推和拉请求上运行 test.yml。我不想在工作流之间重复作业。

最佳答案

有没有一种方法可以在工作流程之间创建依赖关系?


我认为目前尚不可能。也许这是他们将来会添加的功能。就个人而言,我认为很可能会添加CircleCI之类的功能来共享工作流的公共部分。

对于替代解决方案,是否可以像下面的工作一样将它们全部放在同一工作流程中?仅当推送以deploy-packages开头的标签时,才会执行v作业。

name: my workflow
on: [push, pull_request]
jobs:
test-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: test packages
run: echo "Running tests"
deploy-packages:
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
needs: test-packages
steps:
- uses: actions/checkout@v1
- name: deploy packages
run: echo "Deploying packages"

关于github - 工作流之间对Github Action 的依赖性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58457140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com