通过矩阵策略和以下两个作业,第一个作业并行运行可能配置的“矩阵”,当它们全部成功时,它会转移到第二个作业。
jobs:
job1:
runs-on: ubuntu-latest
strategy:
matrix:
version: [10, 12, 14]
steps:
# etc
job2:
runs-on: ubuntu-latest
needs: job1
strategy:
matrix:
version: [10, 12, 14]
steps:
# etc
很好的一点是,基本上在整个工作流程中都有一个矩阵,对于每个矩阵值,整个作业工作流程都可以并行运行,不受影响。这意味着对于特定的配置,job2
可以在该配置的job1
完成后立即进行,而不管另一个配置的job1
是否仍在处理中或已失败。
在下图中,第一种情况是当前发生的情况,而第二种情况是期望的情况:
我觉得可以通过使用不同的上下文多次启动工作流程来“模拟”这个过程。但是,例如从触发器中如何实现呢?是否可以在on: push
中指定同时运行3个版本的工作流程?