.github/workflows/update-unraid-template.yml
- β
Auto-updates
<Date>tag on releases - β
Extracts release notes β
<Changes>section - β Keeps last 3 versions in changelog
- β Validates XML
- β Commits and pushes changes
.github/workflows/validate-unraid-template.yml
- β Validates XML syntax
- β Checks required elements
- β Detects common issues
- β Runs on PRs and pushes
- β
docs/AUTOMATION.md- Complete 200+ line guide - β
AUTOMATION_QUICKSTART.md- Quick reference - β
scripts/setup-automation.sh- Setup helper script
cd /Users/ed/TVx
# Add all automation files
git add .github/workflows/
git add docs/AUTOMATION.md
git add AUTOMATION_QUICKSTART.md
git add scripts/setup-automation.sh
# Commit
git commit -m "π€ Add Unraid template automation workflows
Features:
- Auto-update template on GitHub releases
- Automatic changelog generation from release notes
- XML validation on template changes
- Complete documentation and setup scripts
Files:
- .github/workflows/update-unraid-template.yml
- .github/workflows/validate-unraid-template.yml
- docs/AUTOMATION.md
- AUTOMATION_QUICKSTART.md
- scripts/setup-automation.sh"
# Push to current branch (logging)
git push origin logging# When you're ready to enable automation on main branch
git checkout main
git merge logging
git push origin main# Using GitHub CLI
gh release create v1.0.1-beta \
--title "v1.0.1 Beta - Testing Automation" \
--notes "## Testing
- Testing automatic template updates
- Verifying changelog generation
- Checking commit automation" \
--prerelease-
Tag:
v1.0.1-beta -
Title:
v1.0.1 Beta - Testing Automation -
Description:
## Testing Automation - Testing automatic template updates - Verifying changelog generation - Checking commit automation
-
β Check "Set as a pre-release"
-
Click Publish release
- Go to Actions: https://github.com/dopeytree/TVx/actions
- Watch "Update Unraid Template" workflow run
- Check the commit it creates
- Verify
tvx-unraid-template.xmlwas updated
# Pull the automated changes
git pull
# Check the template
cat tvx-unraid-template.xml | grep -A 10 "<Changes>"
cat tvx-unraid-template.xml | grep "<Date>"Expected output:
<Changes>
### v1.0.1-beta (2025-10-16)
- Testing automatic template updates
- Verifying changelog generation
- Checking commit automation
</Changes>
<Date>2025-10-16</Date>- Create Release (GitHub or CLI)
- Add Release Notes (what's new, bug fixes)
- Publish β¨
- Automation handles the rest! π€
# 1. Tag and create release
gh release create v1.1.0 \
--title "v1.1.0 - Awesome New Feature" \
--notes "## What's New
- Added amazing new feature
- Improved performance
- Fixed critical bugs
## Bug Fixes
- Fixed issue #123
- Resolved memory leak"
# 2. Wait ~30 seconds for automation
# 3. Pull the updated template
git pull
# 4. Done! Template is updated and committedSometimes you want to update the template without a release:
# Via GitHub CLI
gh workflow run "Update Unraid Template" --ref main
# Or via web: Actions β Update Unraid Template β Run workflow# List recent workflow runs
gh run list --workflow="Update Unraid Template" --limit 5
# View specific run
gh run view <run-id> --logComment out the trigger in .github/workflows/update-unraid-template.yml:
on:
# release:
# types: [published]
workflow_dispatch: # Keep manual trigger- Date updates
- Changelog from release notes
- Version history (keeps last 3)
- XML validation
- Git commits & pushes
- Config changes (ports, paths)
- Icon/screenshot updates
- Category changes
- Overview text edits
- First-time setup
- Check: Actions enabled? (Settings β Actions)
- Check: Branch permissions (Settings β Actions β Workflow permissions)
- Check: Workflow file syntax (validate YAML)
# View the error log
gh run list --workflow="Update Unraid Template" --limit 1
gh run view --logCommon fixes:
- XML syntax errors β Fix template manually
- Permission errors β Check workflow permissions
- Python errors β Check release notes format
- Check: Workflow completed successfully?
- Check: Correct branch?
- Check: Pull latest:
git pull
# If automation fails, update manually
nano tvx-unraid-template.xml
# Update <Date> and <Changes>
git add tvx-unraid-template.xml
git commit -m "Manual template update"
git push- Quick Start:
AUTOMATION_QUICKSTART.md - Full Guide:
docs/AUTOMATION.md - Setup Script:
scripts/setup-automation.sh - This File:
AUTOMATION_IMPLEMENTATION.md
- Committed automation workflows
- Pushed to GitHub
- Verified workflows appear in Actions tab
- Created test pre-release
- Watched workflow run successfully
- Verified template was auto-updated
- Pulled updated template locally
- Read full documentation
Your Unraid template will now automatically update with every release. Just focus on your code and release notes - the automation handles the rest!
Need Help?
- π Read:
docs/AUTOMATION.md - π¬ Ask: Unraid Forum
- π Report: GitHub Issues