π€ Unraid Template Automation Guide
This guide explains the automation system for the TVx Unraid template.
π Overview
Two GitHub Actions workflows automatically maintain the Unraid template:
- update-unraid-template.yml - Auto-updates template on new releases
- validate-unraid-template.yml - Validates template on changes
π How It Works
Automatic Updates on Release
When you create a new GitHub release, the workflow automatically:
- β
Updates the
<Date>tag with the current date - β
Extracts release notes and updates the
<Changes>section - β Maintains the last 3 version entries in the changelog
- β Validates the XML syntax
- β Commits and pushes changes to your repository
Template Validation
On every push or PR that modifies the template:
- β Validates XML syntax
- β Checks for required elements
- β Detects common issues (unescaped characters, duplicate tags)
- β Provides a summary report
π Usage Guide
Creating a New Release (Triggers Auto-Update)
Option 1: Via GitHub Web Interface
- Go to your repository: https://github.com/dopeytree/TVx
- Click Releases β Draft a new release
- Click Choose a tag β Type version (e.g.,
v1.0.1) - Fill in Release title:
v1.0.1 - Brief description - Add Release notes (these will be added to the template):
```markdown
Whatβs New
- Added logging system
- Fixed video playback issues
- Improved CRT effects
Bug Fixes
- Fixed port configuration
- Resolved CORS issues ```
- Click Publish release
- π The workflow will automatically update your template!
Option 2: Via Command Line
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Create a new tag
git tag -a v1.0.1 -m "Version 1.0.1 - Description"
# Push the tag
git push origin v1.0.1
# Create release using GitHub CLI (optional)
gh release create v1.0.1 \
--title "v1.0.1 - Brief description" \
--notes "
## What's New
- Feature 1
- Feature 2
## Bug Fixes
- Fix 1
- Fix 2
"
Manual Trigger
You can manually trigger the template update:
- Go to Actions tab in your repository
- Select Update Unraid Template
- Click Run workflow
- Select branch and click Run workflow
π§ Workflow Details
update-unraid-template.yml
Triggers:
- Automatic: When a new release is published
- Manual: Via workflow_dispatch
What it updates:
<Date>tag with current date<Changes>section with latest release notes- Keeps last 3 versions in changelog to prevent bloat
Example output in template:
1
2
3
4
5
6
7
8
9
10
11
<Changes>
### v1.0.1 (2025-10-16)
- Added logging system
- Fixed video playback issues
- Improved CRT effects
### v1.0.0 (2025-10-13)
- Initial Unraid Community Applications release
- Full IPTV player with EPG support
</Changes>
<Date>2025-10-16</Date>
validate-unraid-template.yml
Triggers:
- On push to main branch (if template changed)
- On pull requests (if template changed)
- Manual trigger
Checks:
- XML syntax validity
- Required elements present (
Name,Repository,Overview, etc.) - No unescaped
&characters (should be&) - No duplicate tags
- Proper port format in WebUI
π Best Practices
Release Notes Format
Write clear, user-friendly release notes:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## What's New in v1.0.1
### Features
- π¨ New CRT effect presets
- β‘ Improved channel switching speed
- π Added logging system
### Bug Fixes
- Fixed video playback on Safari
- Resolved EPG timezone issues
- Fixed port configuration
### Documentation
- Updated installation guide
- Added troubleshooting section
Version Numbering
Follow Semantic Versioning:
- Major (v2.0.0): Breaking changes
- Minor (v1.1.0): New features, backwards compatible
- Patch (v1.0.1): Bug fixes
Testing Before Release
- Test your changes locally
- Create a pre-release to test automation:
1 2 3 4
gh release create v1.0.1-beta \ --title "v1.0.1 Beta" \ --notes "Testing release" \ --prerelease
- Check the auto-generated template
- Create the official release
π Troubleshooting
Workflow Failed
- Go to Actions tab
- Click on the failed workflow run
- Check the error message
- Common issues:
- XML syntax errors
- Missing permissions
- Invalid release notes format
Changes Not Appearing
- Check if workflow completed successfully
- Verify youβre on the correct branch
- Clear browser cache
- Pull latest changes:
git pull origin main
Manual Fix Required
If automation fails, you can manually update:
1
2
3
4
5
6
7
8
9
# Edit the template
nano tvx-unraid-template.xml
# Update Date and Changes sections manually
# Commit and push
git add tvx-unraid-template.xml
git commit -m "Manual template update for v1.0.1"
git push
π― What Gets Automated
β Automated:
- Date updates
- Changelog updates from release notes
- XML validation
- Git commits and pushes
β Not Automated (requires manual editing):
- Version-specific Config changes
- New features in Overview
- Icon or screenshot updates
- Category changes
- Port or path modifications
π Monitoring
Check Workflow Status
View all workflow runs:
1
gh run list --workflow="Update Unraid Template"
View latest run details:
1
gh run view --log
Notifications
GitHub will notify you if workflows fail:
- Email notifications
- Web notifications
- Can configure Slack/Discord webhooks
π Permissions
The workflows need:
- β
contents: write- To commit changes - β
GITHUB_TOKEN- Automatically provided
No additional secrets needed!
π Benefits
- Consistency - Template always up-to-date with releases
- Time Saving - No manual XML editing needed
- Quality - Automatic validation prevents errors
- Transparency - All changes tracked in git history
- User Experience - Users always see latest changes in Community Apps
π Additional Resources
Questions? Open an issue or ask in the Unraid forum thread!