Skip to content

workflow-iptv-schedule #453

workflow-iptv-schedule

workflow-iptv-schedule #453

name: workflow-iptv-schedule
on:
schedule:
# run every 1 day(s)
- cron: "0 0 * * *"
jobs:
run-job:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Login to GitHub
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.CR_PAT }}
- name: push filtered iptv to repo
uses: nick-fields/retry@v2
with:
timeout_minutes: 60
max_attempts: 3
retry_wait_seconds: 120
command: |
output_filename="eng.m3u"
output_eng_movies_kids_filename="eng-movies-kids.m3u"
output_eng_movies_kids_filtered_regex="Geo-blocked|Bloody|Horror|Horrify|Scream|Terror"
output_eng_movies_kids_filtered_filename="eng-movies-kids-filtered.m3u"
curl -o "${output_filename}" -L https://iptv-org.github.io/iptv/languages/eng.m3u
cat "${output_filename}" |\
grep -Pzo '.*group-title="(Kids|Movies)".*\n.*m3u8' |\
tr '\0' '\n' \
> "${output_eng_movies_kids_filename}"
cat "${output_eng_movies_kids_filename}" |\
sed -E -e "/.*${output_eng_movies_kids_filtered_regex}.*/,/m3u8/d" \
> "${output_eng_movies_kids_filtered_filename}"
git config --global user.email "[email protected]"
git config --global user.name "actions"
git add "${output_filename}" "${output_eng_movies_kids_filename}" "${output_eng_movies_kids_filtered_filename}"
git commit -m "Updating English filtered m3u"
git push