aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/update-psalm-baseline-approve-merge.yml
blob: d554527c7e89dc61220b60537bdfc447fc7a944a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Auto approve psalm baseline update

on:
  pull_request_target:
    branches:
      - main
      - master
      - stable*

permissions:
  contents: read

concurrency:
  group: update-psalm-baseline-approve-merge-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

jobs:
  auto-approve-merge:
    if: github.actor == 'nextcloud-command'
    runs-on: ubuntu-latest-low
    permissions:
      # for hmarr/auto-approve-action to approve PRs
      pull-requests: write
      # for alexwilson/enable-github-automerge-action to approve PRs
      contents: write

    steps:
      - name: Disabled on forks
        if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
        run: |
          echo 'Can not approve PRs from forks'
          exit 1

      - uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0
        id: branchname
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}

      # GitHub actions bot approve
      - uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
        if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-psalm-baseline')
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}

      # Enable GitHub auto merge
      - name: Auto merge
        uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # main
        if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-psalm-baseline')
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}