Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/duplocloud/ghactions-start-gitflow-release

Starts a gitflow release
https://github.com/duplocloud/ghactions-start-gitflow-release

duplocloud gitflow gitflow-release sdlc

Last synced: 18 days ago
JSON representation

Starts a gitflow release

Awesome Lists containing this project

README

        

# Github Action to start a gitflow release

This action starts a gitflow release, and opens a pull request for the release.

# Usage

## Example

Here is an example of what to put in your `.github/workflows/start-release.yml` file to use this workflow.

```yaml
name: Start Release
on:
workflow_dispatch:
inputs:
version:
description: 'Next version number'
required: true
env:
git_user: some-bot # CHANGE ME!
git_email: [email protected] # CHANGE ME!
jobs:
start-release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
ref: develop # Always release from develop
fetch-depth: 0
persist-credentials: false # Needed so we can push with different credentials.
# NOTE: Pushing with different credentials allows admins to push protected branches.
# NOTE: Pushing with different credentials allow workflows to trigger from the push.

# START THE RELEASE
- name: Initialize mandatory git config
run: |
git config --global user.name $git_user &&
git config --global user.email $git_email
- name: Start gitflow release
uses: duplocloud/ghactions-start-gitflow-release@master
with:
github_token: ${{ secrets.RELEASE_BOT_GITHUB_TOKEN }}
version: ${{ github.event.inputs.version }}
precommit_run: |
echo "v${{ github.event.inputs.version }}" >VERSION
```

## Inputs

| Name | Description | Required | Default |
|------|-------------|----------|---------|
| version | The release version (without any leading prefix) | true | unset |
| tag_prefix | The tag prefix (defaults to "v") | true | `"v"` |
| github_token | Github token to use for pushing and creating the PR | true | unset |
| precommit_run | Shell commands to run prior to making release commit. If no commands are given, no commit will be made. | false | unset |
| commit_message | Commit message to use for the release commit. If no precommit_run is given, no commit will be made. | false | `"[release] version bump"` |
| create_pr | Whether or not to create a pull request. | false | true |
| target_ref | pull request base (defaults to master). Only used if creating a PR. | false | `"master"` |

## Outputs

| Name | Description |
|------|-------------|
| release_tag | release git tag (with version prefix) |
| release_branch | release git branch |
| pull_request_id | pull request ID |
| pull_request_url | pull request URL |