标签: github-actions-workflows

对于昨天有效的可重用工作流程,Github 操作突然抛出“未指定版本”

我不确定这是一个错误还是昨天发生的重大更改,我有一个非常简单的设置,调用三个可重用的工作流程:

name: pr-checks

on:
  pull_request:
    branches: "**"

jobs:
  lint:
    name: Call Lint
    uses: ./.github/checks/check-lint.yaml

  test:
    name: Call Test
    uses: ./.github/checks/check-test.yaml

  e2e:
    name: Call E2E
    uses: ./.github/checks/check-e2e.yaml
Run Code Online (Sandbox Code Playgroud)

但这会抛出

"invalid value workflow reference: no version specified"
Run Code Online (Sandbox Code Playgroud)

截至目前,尽管昨天相同的工作流程已经有效。

当在“作业”级别重用这样的工作流程时 - 没有必要指定版本,事实上,如果我指定版本,它曾经会出错。

附上屏幕截图,因为我认为这没有多大意义。

在此输入图像描述

我确实单击了“重新运行所有作业”,它重新运行成功。

然而,没有任何明显的差异,并且在删除构建步骤之后只是为了确保那里没有发生任何奇怪的事情:

在此输入图像描述

github github-actions github-actions-workflows

19
推荐指数
1
解决办法
1万
查看次数

如何查明触发当前工作流程的 Github Actions 事件是否是新的拉取请求?

我有一个启动的 Github Actions 工作流程:

on:
  pull_request:
    types:
      - synchronize
      - opened
Run Code Online (Sandbox Code Playgroud)

运行我的自定义操作:

jobs:
  my_job:
    uses: "org/repo/.github/workflows/main.yml@master"
Run Code Online (Sandbox Code Playgroud)

在操作中org/repo,我想在打开拉取请求时执行额外的操作,但不在同步时执行。所以我这样org/repo/.github/workflows/main.yml做:

- if: ${{ condition }}
  name: Do that additional thing
Run Code Online (Sandbox Code Playgroud)

应该如何condition区分新打开的拉取请求事件和“同步”事件(推送新提交等)?我想这将涉及检查一些内容,但我在文档${{ github.event.pull_request }}中找不到它。

github-actions building-github-actions github-actions-workflows

12
推荐指数
1
解决办法
6347
查看次数

如何确定 GitHub 操作是否在启用“调试日志记录”的情况下运行

我正在用 Python 编写一个基于 Docker 的 GitHub 操作。如果在某个时候它失败并且用户选择在启用调试日志记录的情况
下重新运行它,我想在其输出中添加更多详细信息。

所以我的问题是:是否可以从动作内部确定它?也许某些环境变量是自动设置的 - 或者可以在 中手动设置action.yml,或者类似的东西?

github github-actions building-github-actions github-actions-workflows

9
推荐指数
1
解决办法
1927
查看次数