Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Github workflows not triggered by automatically created PRs [duplicate]

I implemented a workflow that runs once a week and updates all the project dependencies and opens a PR with its changes using the workflow token.

name: Automatic dependency update
"on":
  workflow_dispatch: null
  schedule:
  - cron: 0 0 * * 1
jobs:
  update:
    name: Update to latest versions
    runs-on:
    - self-hosted
    - default-runner
    steps:
    - name: Checkout Project
      uses: actions/checkout@v2
    - name: Install Java
      uses: actions/setup-java@v2
    - name: Update Versions
      run: |
        ./gradlew useLatestVersions --info 
    - name: Commit and open PR
      uses: peter-evans/create-pull-request@v3
      with:
        commit-message: Update to latest versions
        committer: Update Bot <[email protected]>
        branch: auto-dependency-update
        base: dev
        delete-branch: true
        title: Automatic dependency update
        draft: false
        team-reviewers: XX/teamname
        body: Automated gradle dependency updates

The issue is, that for this PR the normal workflows (that are mandatory for the PR merge are not triggered.

name: Build pipeline
"on":
  workflow_dispatch: null
  pull_request:
    branches:
    - dev
  push:
    branches:
    - '!master'
    - '**'
defaults:
  run:
    shell: bash
jobs:
  build:
    name: Compile
    runs-on:
    - self-hosted
    - default-runner
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - uses: actions/setup-java@v2
    - name: Compile code
      run: |
        ./gradlew classes testClasses --info   
# ...

When I manually push something to that branch, the workflows are triggered. Though when I add the following step to the version update workflow, then the workflows aren't triggered either.

So what can I do? I dont want to trigger the workflows explicityl (e.g. using benc-uk/workflow-dispatch@v1) to keep the update mechanism as generic as possible.

like image 402
Jens Baitinger Avatar asked Sep 12 '25 15:09

Jens Baitinger


1 Answers

According to the official documentation

When you use the repository's GITHUB_TOKEN to perform tasks, events triggered by the GITHUB_TOKEN will not create a new workflow run.

This prevents you from accidentally creating recursive workflow runs. For example, if a workflow run pushes code using the repository's GITHUB_TOKEN, a new workflow will not run even when the repository contains a workflow configured to run when push events occur.

For more information, see "Authenticating with the GITHUB_TOKEN."

The action you're using to open the PR also states in the Inputs section that you can change the GITHUB_TOKEN scope as well, or use a PAT:

GITHUB_TOKEN (permissions contents: write and pull-requests: write) or a repo scoped Personal Access Token (PAT).

Solution

Therefore, you just need to add a token input to the peter-evans/create-pull-request action using a secret allowing you to trigger a workflow from another workflow.

like image 77
GuiFalourd Avatar answered Sep 16 '25 06:09

GuiFalourd