Help
cancel
Showing results for 
Search instead for 
Did you mean: 
Copilot Lvl 2
Message 11 of 20

Re: pull_request action does not run on merge

Thanks for fixing this, I've tried it and works as expected

Copilot Lvl 3
Message 12 of 20

Re: pull_request action does not run on merge

Would it make sense to have a PR event of `merged`?

Copilot Lvl 2
Message 13 of 20

Re: pull_request action does not run on merge

Any Success to fire the event for merge only ?

 

Copilot Lvl 3
Message 14 of 20

Re: pull_request action does not run on merge

This is weird, because I think it would be the most important to have. On PR closed the workflow would be triggered also also in case we reject the PR which is not ideal.

Copilot Lvl 2
Message 15 of 20

Re: pull_request action does not run on merge

Hi,

 

I am using

 

on:
  pull_request:
    types: [closed]

 

for my workflow trigger, without any conditionals, but it is still not triggering when a PR merges. The PR is being merged by a different GitHub Action that merges it using GitHub API with

uses: actions/github-script@0.2.0

 

Could that be a reason it wouldn't trigger?  If I manually merge a PR, it triggers as expected.

 

I've also tried

on: push

where the merge does a push, but same results. A manual merge triggers the workflow based on push, but the merge via API and the github actions bot does not trigger the workflow in question..

Copilot Lvl 2
Message 16 of 20

Re: pull_request action does not run on merge

I have the exact same problem as @rcasperson-jc:

 

Manually merging a pull request triggers my Action, but using the Github API in an other Action to merge a pull request does not trigger my Action.

The only difference I can see is that the merge in the latter case is done by the user github-action (bot).

 

Is it by design / a limitation / a bug of Github Actions?

Copilot Lvl 2
Message 17 of 20

Re: pull_request action does not run on merge

Okay I figured out why my Action wouldn't start.

 

As stated in the doc: "An action in a workflow run can't trigger a new workflow run" (Events that trigger workflows).

 

I had a script in a step that did some changes to my repo with the ${{secrets.GITHUB_TOKEN}} parameter. I expected those changes to trigger another workflow but  they didn't.

By using a personal Github token instead I was able to make it work because now the user responsible for repo changes is not github-actions who obviously cannot trigger workflow, but me.

 

Hope it'll save some time to people

Ground Controller Lvl 2
Message 18 of 20

Re: pull_request action does not run on merge

I can't get pull_request to fire for anything. I've tried

on: pull_request
on: [pull_request]

and

on:
  pull_request:
    types: [opened, edited, read_for_review]

and none of those fire when I open a new pull request or edit an existing one.

Copilot Lvl 3
Message 19 of 20

Re: pull_request action does not run on merge

How about on PR merge? 

Ground Controller Lvl 2
Message 20 of 20

Re: pull_request action does not run on merge

So not sure if this is helpful but for the use case where you

a) Would like some tests to run when you (or one of your team) opens a PR
b) Would like to deploy the npm package when you merge the PR I have found the following works well.

In your .github/workflows directory have 2 files ci.yaml and cd.yaml

 

#ci.yaml (for running test on PR open, edit, reopen and synchronise)

on:
  pull_request:
    types: [opened, reopened, edited, synchronize]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js 12.x
        uses: actions/setup-node@v1
        with:
          registry-url: https://npm.pkg.github.com/
          node-version: 12.x
          scope: "@{your-scope}"
      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
          npm test

#cd.yaml

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js 12.x
        uses: actions/setup-node@v1
        with:
          registry-url: https://npm.pkg.github.com/
          node-version: 12.x
          scope: "@{your-scope}"
      - name: npm install and build
        run: |
          npm install
          npm run build --if-present
      - name: publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
        run: |
          npm run deploy


Has the added benefit of deploying the package if an admin bypasses the PR process for an urgent hotfix type scenario.

Hope this helps