Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
plumbis authored Mar 22, 2020
1 parent da2d82b commit 5b719c7
Showing 1 changed file with 9 additions and 102 deletions.
111 changes: 9 additions & 102 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,106 +1,13 @@
# Nightly Merge Action
(This is a fork of robotology/gh-action-nightly-merge)
# Scheduled Branch Merge

Automatically merge the stable branch into the development one.
This automatically merges one branch into another based on a cron schedule using (Github Actions)[https://github.com/features/actions].

If the merge is not necessary, the action will do nothing.
If the merge fails due to conflicts, the action will fail, and the repository
maintainer should perform the merge manually.
The two files of note:
**action.yml** - Defines the variables that are used in the script.
**entrypoint.sh** - This is the script that is executed by the Github Action.

## Installation
## Entrypoint.sh
This fork has greatly simplified the original script from robotology for the use case of the (Cumulus Documentation)[github.com/cumulusnetworks/docs] team.

To enable the action simply create the `.github/workflows/nightly-merge.yml`
file with the following content:

```yml
name: 'Nightly Merge'

on:
schedule:
- cron: '0 0 * * *'

jobs:
nightly-merge:

runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v1

- name: Nightly Merge
uses: robotology/[email protected]
with:
stable_branch: 'master'
development_branch: 'devel'
allow_ff: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
Even though this action was created to run as a scheduled workflow,
[`on`](https://help.github.com/en/articles/workflow-syntax-for-github-actions#on)
can be replaced by any other trigger.
For example, this will run the action whenever something is pushed on the
`master` branch:

```yml
on:
push:
branches:
- master
```

## Parameters

### `stable_branch`

The name of the stable branch (default `master`).

### `development_branch`

The name of the development branch (default `devel`).

### `allow_ff`

Allow fast forward merge (default `false`). If not enabled, merges will use
`--no-ff`.

### `allow_git_lfs`

Allow support for repositories that use `git lfs` (default `false`).

### `ff_only`

Refuse to merge and exit unless the current HEAD is already up to date or the
merge can be resolved as a fast-forward (default `false`).
Requires `allow_ff=true`.

### `allow_forks`

Allow action to run on forks (default `false`).

### `user_name`

User name for git commits (default `GitHub Nightly Merge Action`).

### `user_email`

User email for git commits (default `[email protected]`).

### `push_token`

Environment variable containing the token to use for push (default
`GITHUB_TOKEN`).
Useful for pushing on protected branches.
Using a secret to store this variable value is strongly recommended, since this
value will be printed in the logs.
The `GITHUB_TOKEN` is still used for API calls, therefore both token should be
available.

```yml
with:
push_token: 'FOO_TOKEN'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FOO_TOKEN: ${{ secrets.FOO_TOKEN }}
```
This script uses `source_branch` and `target_branch` variables and will merge the `source_branch` into the `target_branch` every day at 12PT.

0 comments on commit 5b719c7

Please sign in to comment.