Skip to content

🛠️ GitHub Action to automatically create a release tag based on files updated in a commit for JS/TS projects 🏷️

License

Notifications You must be signed in to change notification settings

lr0pb/generate-release

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

🛠️ Automatic Release Creation beta

Latest release version

This Action is in the beta right now

Automatically create release tags based on files updated in a commit for JavaScript/TypeScript projects. If you are new into GitHub Actions read this quick start guide first

Usage

Add following entry into your jobs list

<job-name>:
  runs-on: ubuntu-latest
  permissions:
    contents: write
  steps:
    - name: Automatic Release Creation
      uses: lr0pb/[email protected]
      with:
        token: ${{ secrets.GITHUB_TOKEN }}

Action inputs and outputs

Inputs

Inputs are like arguments for functions and must be set by the with keyword in your <step-name> that uses this Action

Name Description Required? Default value
token Your GITHUB_TOKEN to provide access to GitHub REST API ❗ Yes
track-file Path to file used to track updates:
package.json file in whatever directory
✅ No package.json
notes-source Source type for release notes:
changelog | auto
✅ No changelog
notes-file Path to changelog file used to provide release descriptions ✅ No CHANGELOG.md
notes-fallback Fallback for release notes when no changelog file founded or when no description in this file for the new version:
fallbackText | auto
✅ No fallbackText
fallback-text input value
fallback-text Text used for fallbackText release notes fallback ✅ No "No description 💭"
tag-pattern Custom tag pattern for release title ✅ No v{major}.{minor}.{patch}

Ready-to-use workflow file

Full workflow file template for your automatic release creation process:

name: Create release

on:
  push:
    branches: ['main']

jobs:
  release:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Automatic Release Creation
        uses: lr0pb/[email protected]
        with:
          token: ${{ secrets.GITHUB_TOKEN }}