56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
name: release
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- 'v*.*.*'
|
|
pull_request:
|
|
types:
|
|
- labeled
|
|
|
|
jobs:
|
|
release:
|
|
if: github.event.action != 'labeled'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
# Bump version on merging Pull Requests with specific labels.
|
|
# (bump:major,bump:minor,bump:patch)
|
|
- id: bumpr
|
|
if: "!startsWith(github.ref, 'refs/tags/')"
|
|
uses: haya14busa/action-bumpr@v1
|
|
|
|
# Update corresponding major and minor tag.
|
|
# e.g. Update v1 and v1.2 when releasing v1.2.3
|
|
- uses: haya14busa/action-update-semver@v1
|
|
if: "!steps.bumpr.outputs.skip"
|
|
with:
|
|
tag: ${{ steps.bumpr.outputs.next_version }}
|
|
|
|
# Get tag name.
|
|
- id: tag
|
|
uses: haya14busa/action-cond@v1
|
|
with:
|
|
cond: "${{ startsWith(github.ref, 'refs/tags/') }}"
|
|
if_true: ${{ github.ref }}
|
|
if_false: ${{ steps.bumpr.outputs.next_version }}
|
|
|
|
# Create release
|
|
- if: "steps.tag.outputs.value != ''"
|
|
env:
|
|
TAG_NAME: ${{ steps.tag.outputs.value }}
|
|
CURRENT: ${{ steps.bumpr.outputs.current_version }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release create "${TAG_NAME}" -t "Release ${TAG_NAME/refs\/tags\//}" --generate-notes --notes-start-tag "${CURRENT}"
|
|
|
|
release-check:
|
|
if: github.event.action == 'labeled'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Post bumpr status comment
|
|
uses: haya14busa/action-bumpr@v1
|