我在我的 GitHub 存盤庫中使用了兩個作業流。
每次推送都會觸發第一個作業流程,dev并在新分支中提升版本bump-version并創建新的拉取請求到dev.
name: bump-version
on:
push:
branches:
- 'dev'
jobs:
bumpVersionNumber:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v1
with:
node-version: 10
- run: npm ci
- name: Bump Version
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
npm run release
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
commit-message: bump version
title: Bump version
body: Bump version to reflect release changes
branch: bump-version
base: dev
第二個作業流程應該由對新創建的分支的每個推送和拉取請求觸發bump-version:
name: auto-approve
on:
push:
pull_request:
branches:
- 'bump-version'
jobs:
autoApprove:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v1
with:
node-version: 10
- run: npm ci
- name: Pull request number
run: |
echo "Pull Request Number - ${{ github.event.pull_request.number }}"
- name: Approve pull Request
if: ${{ github.event.pull_request.number }}
uses: hmarr/auto-approve-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
pull-request-number: ${{ github.event.pull_request.number }}
問題是auto-approve,當創建新的拉取請求或第一個作業流對分支進行推送時,第二個作業流不會被觸發bump-version。
我想知道為什么第二個作業流auto-approve會被任何分支而不是bump-version分支上的推送觸發,為什么當從分支創建新的拉取請求時它沒有被bump-version觸發dev?
它是否與 GitHub Actions 機器人正在創建拉取請求這一事實有關?
uj5u.com熱心網友回復:
默認情況下,當您使用存盤庫GITHUB_TOKEN執行任務時,由存盤庫觸發的事件GITHUB_TOKEN不會創建新的作業流運行。這可以防止您意外創建遞回作業流運行。
如果您確實想從作業流運行中觸發作業流,您可以使用個人訪問令牌而不是GITHUB_TOKEN觸發需要令牌的事件。
在這里,您必須在呼叫peter-evans/create-pull-request操作時使用此 PAT:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
commit-message: bump version
title: Bump version
body: Bump version to reflect release changes
branch: bump-version
base: dev
token: ${{ secrets.PAT }}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/485414.html
