name: Pull Request Checks
on:
pull_request:
branches: main
jobs:
check_if_branch_is_ahead_of_main:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Check if branch is ahead of main
run: |
if ! git merge-base --is-ancestor origin/main ${{ github.event.pull_request.head.sha }};
then echo "This branch is not up to date with main";
exit 1; fi
next_job:
needs: check_if_branch_is_ahead_of_main
...
1条答案
按热度按时间jvlzgdj91#
以下是GitHub Actions脚本的示例部分:
1.当pull请求被打开、重新打开或有新的commit推送时运行,如果该pull请求将
main
作为其目标分支1.检查当前提交是否有
main
作为祖先,如果没有则失败1.在第一次检查完成之前,不要开始下一个作业/检查
注意:默认情况下,运行在
pull_request
触发器上的GitHub Action认为当前提交是一个虚构的提交,它是通过将您的pull请求合并到目标分支中而产生的。${{ github.event.pull_request.head.sha }}
意味着使用pull请求分支的HEAD处的实际提交。