Skip to content
git-merge

GitHub Action

Merge Schedule

v1.3.0 Latest version
Use latest version
git-merge

Merge Schedule

merge pull requests on a scheduled day

Installation

Copy and paste the following snippet into your .yml file.

- name: Merge Schedule
  uses: gr2m/merge-schedule-action@v1.3.0
Learn more about this action in gr2m/merge-schedule-action
Choose a version

merge-schedule-action

GitHub Action to merge pull requests on a scheduled day

Usage

Create .github/workflows/merge-schedule.yml

name: Merge Schedule
on:
  pull_request:
    types:
      - opened
      - edited
      - synchronize
  schedule:
    # https://crontab.guru/every-hour
    - cron: 0 * * * *

jobs:
  merge_schedule:
    runs-on: ubuntu-latest
    steps:
      - uses: gr2m/merge-schedule-action@v1
        with:
          # Merge method to use. Possible values are merge, squash or
          # rebase. Default is merge.
          merge_method: squash
          #  Time zone to use. Default is UTC.
          time_zone: "America/Los_Angeles"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

In your pull requests, add a line to the end of the pull request description look looking like this

/schedule 2019-12-31

Or if you need a more precise, timezone-safe setting, you can use an ISO 8601 date string

/schedule 2019-12-31T00:00:00.000Z

Any string that works with the new Date() constructor will work.

To control at which time of the day you want the pull request to be merged, I recommend to adapt the - cron: ... setting in the workflow file.

The action sets a pending commit status if the pull request was recognized as being scheduled.

Note that pull requests from forks are ignored for security reasons.

License

ISC