Skip to content

Release: 4.0.5

Release: 4.0.5 #58

Workflow file for this run

name: Create GitHub Release
on:
push:
tags:
- 'v[0-9]*'
- '[0-9]*'
permissions:
contents: write
jobs:
build:
name: Create Release
runs-on: ubuntu-latest
env:
ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}
IS_VALID_COMMIT: false
TAG_NAME: ''
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
- name: Log Token Type
env:
TOKEN: ${{ env.ACCESS_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [ "$TOKEN" = "$GH_TOKEN" ]; then
echo "πŸ—οΈ Authenticated with GitHub Token"
else
echo "πŸ”‘ Authenticated with Personal Access token"
fi
- name: Validate Tag and Branch
id: validation
run: |
TAG=$(git tag --contains HEAD | grep -E '^v?[0-9]' | head -n 1)
echo "🏷️ Tag for commit is: $TAG"
BRANCH=$(git branch -r --contains tags/${GITHUB_REF_NAME} | grep 'origin/main' | xargs)
if [[ -z "$BRANCH" ]]; then
echo "🚨 Tag is not on main branch"
else
echo "πŸ•ŠοΈ Current branch is: $BRANCH"
fi
if [[ -z "$TAG" || -z "$BRANCH" ]]; then
echo "IS_VALID_COMMIT=false" >> "$GITHUB_ENV"
echo "TAG_NAME=''" >> "$GITHUB_ENV"
else
echo "IS_VALID_COMMIT=true" >> "$GITHUB_ENV"
echo "TAG_NAME=$TAG" >> "$GITHUB_ENV"
fi
- name: Release Notes
if: env.IS_VALID_COMMIT == 'true'
id: release-notes
uses: kitschpatrol/github-action-release-changelog@v2
- name: Release
if: env.IS_VALID_COMMIT == 'true'
id: release
uses: kitschpatrol/github-action-release@v2
with:
token: ${{ env.ACCESS_TOKEN }}
draft: false
prerelease: false
name: ${{ env.TAG_NAME }}
tag_name: ${{ env.TAG_NAME }}
body: |
${{ steps.release-notes.outputs.changelog }}
files: |
readme.md
README.md
LICENSE
license.txt
CHANGELOG
CHANGELOG.md
changelog.md
- name: Log Release Details
if: env.IS_VALID_COMMIT == 'true'
env:
TAG: ${{ env.TAG_NAME }}
RELEASE_URL: ${{ steps.release.outputs.url }}
RELEASE_ID: ${{ steps.release.outputs.id }}
run: |
echo "πŸ“¦ Successfully released: $TAG"
echo "πŸ”— Release URL: $RELEASE_URL"
echo "πŸͺͺ Release ID: $RELEASE_ID"