Skip to content

This GitHub action merges labeled PRs into the dev branch.

License

Notifications You must be signed in to change notification settings

Staffbase/autodev-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

👷 AutoDev Action

Continuous Integration GitHub release (latest by date)

This action merges commits from different pull requests that have been tagged with the label dev into the dev branch on your GitHub repository.

name: Autodev
on:
  push:
    branches-ignore:
      - dev
  pull_request:
    types: [labeled, unlabeled, closed]

jobs:
  autodev:
    name: Build Dev Branch
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          # The token of the user that should perform the merges. 
          # This must be a personal access token with the necessary permissions
          token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
          fetch-depth: 0

      - name: Autodev
        uses: Staffbase/[email protected]
        with:
          # The token used to fetch the pull requests from the GitHub API
          token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}

All options

You can find all input options which are available for this action.

Input Description Default
token PAT for GitHub API authentication
base This is the base branch. The merge history originates from this branch. main
branch The branch the action will merge the pull requests to. dev
label The label where the action will be triggered. dev
comments The GitHub action creates a new comment inside every pull request. false
success_comment Comment string that will be shown in the pull request on success. Only necessary if comments is enabled. ''
failure_comment Comment string that will be shown in the pull request on failure. Only necessary if comments is enabled. ''
labels The GitHub action updates the labels inside every pull request for successful or failed merges to the dev branch. false
success_label Label string that will be shown on the Pull request on success. Only necessary if labels is enabled. successful
failure_label Label string that will be shown on the Pull request on failure. Only necessary if labels is enabled. failed
user Name of the user which does the git commit. AutoDev Action
email E-Mail of the user which does the git commit. [email protected]

Example Usages

Always create the dev branch.

- name: Autodev
  uses: Staffbase/[email protected]
  with:
    token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}

Add a status comment if the merge was successful or failed.

- name: Autodev
  uses: Staffbase/[email protected]
  with:
    token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
    comments: true
    success_comment: '🎉 The action successfully merged all branches with the dev label.'
    failure_comment: '⚠️ Something went wrong.'

Add a status label if the merge was successful or failed.

- name: Autodev
  uses: Staffbase/[email protected]
  with:
    token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
    labels: true
    success_label: 'successful'
    failure_label: 'failed'

Limitations

  • currently only the first 100 pull requests are analyzed

Release

You can create a new release by creating a new tag and bump the version in package.json.

Development

Very nice that you want to work on the action. To create a working implementation, you can use the following command to perform all the necessary actions.

pnpm run all
Staffbase GmbH Staffbase GmbH
Staffbase is an internal communications platform built to revolutionize the way you work and unite your company. Staffbase is hiring: jobs.staffbase.com
GitHub | Website | Jobs