IPTV/.github/workflows
Kálmán „KAMI” Szalai e054b0afbb Only fail the PR channel check on channels the PR itself broke
check_channels.py's exit code reflects every dead channel across the
whole list file it was pointed at, not just the ones a PR added or
changed. Since pr_check.yml ran the checker directly and let its exit
code decide the job's pass/fail, any PR touching a list that already
had pre-existing dead entries (which is most of them - dozens of
already-known-broken channels exist across these lists) got a red X
for something it never caused, even though the workflow's own summary
step already computed the right "touched vs already broken" split.

Fixes this by:
- letting the check step run to completion regardless of its exit
  code (the checker's own verdict on the whole file isn't this job's
  call to make)
- moving pass/fail into the summarize step, which already has the
  touched/others split: the job now fails only when a channel this PR
  itself added or changed comes back `dead`
- deliberately not failing on `blocked`/`unreachable`/`flaky` for
  touched channels either - these have real false-positive rates from
  the runner's own network (geo-blocks, a datacenter IP some providers
  reject, one slow probe), which is exactly why the *Channel check
  (deep)* workflow exists to give `dead`-looking channels a second
  opinion before anyone acts on them

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 14:24:16 +02:00
..
check_channels_deep.yml
check_channels_fast.yml
pr_check.yml
pylint.yml
test_playlist.yml
update_playlist.yml
weekly_trend.yml