my-private-iptv-m3u/.forgejo/workflows/generate-m3u.yml
stoney420 ad7a4295fe
All checks were successful
📺 Generate M3U Playlist / build (push) Successful in 1m3s
Update .forgejo/workflows/generate-m3u.yml
2025-06-27 18:01:10 +02:00

99 lines
No EOL
2.8 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: 📺 Generate M3U Playlist
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: 📥 Checkout Repository
uses: actions/checkout@v4
- name: 🐍 Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: ⚙️ Configure Git
run: |
git config --local user.email "actions@forgejo.plainrock127.xyz"
git config --local user.name "IPTV Playlist Bot"
- name: 🔍 Check files before processing
run: |
echo "=== Repository Status ==="
ls -la
echo "=== Checking key files ==="
if [ -f scripts/generate_playlist.py ]; then
echo "✅ scripts/generate_playlist.py found"
else
echo "❌ scripts/generate_playlist.py missing"
fi
if [ -f channels.txt ]; then
echo "✅ channels.txt found ($(wc -l < channels.txt) lines)"
else
echo " channels.txt not found"
fi
if [ -f bulk_import.m3u ]; then
echo "✅ bulk_import.m3u found ($(wc -l < bulk_import.m3u) lines)"
else
echo " bulk_import.m3u not found (normal if no import)"
fi
- name: 🚀 Generate M3U Playlist
run: |
echo "=== Running playlist generation ==="
python scripts/generate_playlist.py
- name: 📊 Check results
run: |
echo "=== Results ==="
ls -la
if [ -f playlist.m3u ]; then
CHANNEL_COUNT=$(grep -c "^#EXTINF" playlist.m3u || echo "0")
echo "✅ playlist.m3u generated with $CHANNEL_COUNT channels"
echo "First 5 lines:"
head -5 playlist.m3u
else
echo "❌ playlist.m3u not generated"
fi
if [ -f playlist_update.log ]; then
echo "=== Log content ==="
cat playlist_update.log
else
echo "❌ No log file found"
fi
- name: 💾 Commit changes
run: |
# Add files
git add channels.txt || true
git add playlist.m3u || true
git add playlist_update.log || true
git add config/ || true
git add docs/ || true
# Check if anything to commit
if git diff --staged --quiet; then
echo "No changes to commit"
else
CHANNEL_COUNT="0"
if [ -f playlist.m3u ]; then
CHANNEL_COUNT=$(grep -c "^#EXTINF" playlist.m3u || echo "0")
fi
git commit -m "📺 Updated playlist: $CHANNEL_COUNT channels ($(date '+%Y-%m-%d %H:%M'))"
git push
echo "✅ Changes committed"
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}