在使用GitHub操作将请求合并到主服务器时,应使用什么可预测的提交SHA? [英] What is a predictable commit sha to use when merging pull request to a master using GitHub actions?

查看:11
本文介绍了在使用GitHub操作将请求合并到主服务器时,应使用什么可预测的提交SHA?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用[GitHub-Actions]。我有两个工作流:

  • 触发于pull_request
  • 触发于push
on:
  workflow_dispatch:
  pull_request:
    branches:
      - master
on:
  workflow_dispatch:
  push:
    branches:
      - master
pull_request工作流会生成需要在push工作流中使用的资产。我需要某种标识符来连接这两个工作流,理想情况下是SHA of Git Merge Commit。但是,我找不到可靠的参考资料来使用。

目前我在pull_request工作流中使用${{ github.event.pull_request.head.sha }},在push工作流中使用:

- name: Setup repository
  uses: actions/checkout@v2
  with:
    fetch-depth: 2
- name: Set CI_COMMIT_SHORT_SHA env property
  shell: bash
  run: echo "CI_COMMIT_SHORT_SHA=$(git rev-parse --short=8 HEAD^2)" >> $GITHUB_ENV

这在大多数情况下都有效,但在合并前将提交强制推送到PR分支时会中断。

pull_requestpush工作流相关联的引用是什么?

推荐答案

如果您希望仅在PR合并到MASTER时触发第二个工作流,则可以使用pull_request.closed事件。在该工作流程中,$GITHUB_REF应该会为您提供对PR合并分支的引用(ReFS/Pull/:prNumber/Merge)。将这两个工作流绑定在一起对您有效吗?

on:
  pull_request:
    branches:
      - master
    types: [closed]

还请注意,要忽略未合并的已关闭PR,您需要在作业中添加条件以在这种情况下跳过它:if: github.event.pull_request.merged == true

这篇关于在使用GitHub操作将请求合并到主服务器时,应使用什么可预测的提交SHA?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆