github - Github 操作上的工作流之间的依赖关系
问题描述
我有一个带有两个工作流程的 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
name: deploy
on:
push:
tags:
- "*"
jobs:
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
解决方案
现在可以使用 workflow_run 在 Github Actions 上的工作流之间建立依赖关系。
使用此配置,Release
工作流程将在Run Tests
工作流程完成后工作。
name: Release
on:
workflow_run:
workflows: ["Run Tests"]
branches: [main]
types:
- completed
推荐阅读
- node.js - grpc 尝试连接 http1.x 服务器
- python - Python OpenCV:使用斜率和另一个坐标获取 ax/y 点
- angular - Angular 应用程序的角色和权限工具
- c# - C#创建距离为100km的经纬度地图字典
- r - 停用词不能删除 R 中的单词
- matplotlib - 在同一进程中将 matplotlib 与 Qt5 后端一起使用并运行现有 QApplication
- asp.net - 无法使用 Windows 7 SP1 在 IIS 7.5 中添加 ASP.NET 组件
- c# - System.Text.Json 将字典序列化为数组
- javascript - 角度路由 - 在路由到子节点时,仅在页面刷新时查看更新
- html - 使所有列宽等于最宽列的长度