Skip to content

Create release on tag push #7

Create release on tag push

Create release on tag push #7

name: Create release on tag push
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
build:
name: Create Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@master
with:
fetch-depth: 0
- name: Fetch tags
id: fetch_latest_tag
run: |
echo "previous_tag=$(git describe --tags --abbrev=0 HEAD^1 | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" >> $GITHUB_OUTPUT
echo "latest_tag=$(git describe --tags --abbrev=0 HEAD | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" >> $GITHUB_OUTPUT
- name: Generate changelogs
id: changelogs
run: |
echo "commits=$(git log --pretty=format:%s ${{ steps.fetch_latest_tag.outputs.previous_tag }}..${{ steps.fetch_latest_tag.outputs.latest_tag }})" >> $GITHUB_OUTPUT
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: |
${{ steps.changelogs.outputs.commits }}
**Full Changelog**: https://github.com/rabilrbl/jiotv_go/compare/${{ steps.fetch_latest_tag.outputs.previous_tag }}...${{ steps.fetch_latest_tag.outputs.latest_tag }}
draft: false
prerelease: false
owner: ${{ github.repository_owner }}