Skip to content

chore(workflow): add workflow_dispatch event to allow manual triggeri… #5

chore(workflow): add workflow_dispatch event to allow manual triggeri…

chore(workflow): add workflow_dispatch event to allow manual triggeri… #5

# Automatically creates and updates release drafts when PRs are merged
name: Release Drafter
# Triggers the workflow on push to master and on PR activities
on:
push:
branches: [ master ]
pull_request:
types: [opened, reopened, synchronize]
branches: [ master ]
# Manual trigger option
workflow_dispatch:
# Define required permissions for the workflow
permissions:
# Required permissions for release and milestone management
contents: write # Allows creating releases
pull-requests: write # Allows reading and labeling PRs
issues: write # Allows managing related issues
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# Checkout repository with full history
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Run release drafter action
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Configuration options
config-name: release-drafter.yml # Path to config file
disable-autolabeler: false # Enable automatic PR labeling
tag-template: 'v$RESOLVED_VERSION' # Version tag format
version-template: '$MAJOR.$MINOR.$PATCH' # Version number format
publish: false # Create as draft only
prerelease: false # Mark as stable release
commitish: master # Target branch
# Optional: Update changelog file in repository
update_changelog:
needs: update_release_draft
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Update Changelog
run: |
if [ -f CHANGELOG.md ]; then
echo "Updating CHANGELOG.md"
# Add changelog update commands here if needed
else
echo "CHANGELOG.md not found"
fi