在 GitHub 个操作中链式测试和发布工作流

Chain testing and releasing workflows in GitHub Actions

我有 2 个条件,在这些条件下我想 运行 我在 go 项目的 GH 操作中的工作流程


name: unit-tests

on: [ pull_request ]

jobs:
  unit-tests:
    runs-on: Linux

    steps:
      - name: checkout project
        uses: actions/checkout@v2

      - name: dynamically retrieve go version
        uses: arnested/go-version-action@v1
        id: go-version

      - name: setup go ${{ steps.go-version.outputs.minimal }}
        uses: actions/setup-go@v2
        with: 
          go-version: ${{ steps.go-version.outputs.minimal }}

      - name: run unit tests
        run: go test -race -cover -v ./... -run Unit

我的第二个要求如下:

我的问题如下:由于 on 子句在每个工作流中都是唯一的,有没有一种方法可以利用可以集成的上述工作流(无需编写或多或少的克隆)在第二个用例中?

首先,

这意味着您可以创建一个工作流 on master 分支,它将“调用”(重用)您的第二个(现有)工作流,它本身带有 on: 指令

调用看起来像:

jobs:
  call-workflow-passing-data:
    uses: octo-org/example-repo/.github/workflows/reusable-workflow.yml@main
    with:
      username: mona
    secrets:
      envPAT: ${{ secrets.envPAT }}